Jay Berkenbilt
1c944e4c89
Have QPDFWriter detect foreign objects while writing
...
Throw an exception that directs the user to QPDF::copyForeignObject.
2012-07-14 08:07:23 -04:00
Jay Berkenbilt
11b194a1d0
Update getPageImages() comment to mention pushInheritedAttributesToPage()
2012-07-11 15:56:50 -04:00
Jay Berkenbilt
e7b8f297ba
Support copying objects from another QPDF object
...
This includes QPDF::copyForeignObject and supporting foreign objects
as arguments to addPage*.
2012-07-11 15:54:33 -04:00
Jay Berkenbilt
8a217eb3a2
Add concept of reserved objects
...
QPDFObjectHandle::{new,is,assert}Reserved, QPDF::replaceReserved
provide a mechanism to add objects to a PDF file when there are
circular references. This is a prerequisite to copying objects from
one PDF to another.
2012-07-10 23:34:32 -04:00
Jay Berkenbilt
af64668ad1
Add release reminder
2012-07-10 23:34:32 -04:00
Jay Berkenbilt
43d4f79352
Fix typo in variable name
2012-07-10 23:17:26 -04:00
Jay Berkenbilt
b9aded1a00
Favor string-based newStream method
2012-07-10 23:17:26 -04:00
Jay Berkenbilt
b20e37a2c5
Update TODO
2012-07-08 16:01:27 -04:00
Jay Berkenbilt
1dc25c0217
Fix: make unparse virtual for Null and Real
2012-07-08 16:01:12 -04:00
Tobias Hoffmann
8720446b23
Added assertNumber and assertScalar to QPDFObjectHandle
2012-07-07 18:55:08 -04:00
Tobias Hoffmann
a8266ccb0e
Added public assert{Type} methods to QPDFObjectHandle
2012-07-07 18:53:38 -04:00
Tobias Hoffmann
39bbaa86e3
Build this->all_pages while traversing with pushInheritedAttributesToPage
2012-07-07 17:45:10 -04:00
Jay Berkenbilt
e2dedde4bd
Don't require stream data provider to know length in advance
...
Breaking API change: length parameter has disappeared from the
StreamDataProvider version of QPDFObjectHandle::replaceStreamData
since it is no longer necessary to compute it in advance. This
breaking change is justified by the fact that removing the length
parameter provides the caller an opportunity to simplify the calling
code.
2012-07-07 17:33:45 -04:00
Jay Berkenbilt
8705e2e8fc
Add QPDFWriter method to output to FILE*
2012-07-05 21:24:04 -04:00
Jay Berkenbilt
3b5d72b946
Remove stray comment
2012-07-05 13:28:21 -04:00
Jay Berkenbilt
c227249ef1
Added test code for Tobias's changes
2012-07-04 23:19:32 -04:00
Tobias Hoffmann
abb53ac369
Limited inheritance to the attributes explicitly listed in the PDF spec
...
Previous versions of qpdf incorrectly passed arbitrary objects from
/Pages objects down to individual pages in direct contradition with
the PDF specification. These are now left in /Pages. When
intermediate /Pages nodes are being discarded as when the /Pages tree
is being flattened, a warning is issued when unknown keys are
encountered.
2012-07-04 23:04:55 -04:00
Tobias Hoffmann
7770a1b036
Added public method QPDF::pushInheritedAttributesToPage
...
Refactored optimizePagesTree to pushInheritedAttributesToPage and made
public
2012-07-04 16:24:03 -04:00
Tobias Hoffmann
235188df85
Fixed wording error in comment
2012-07-04 14:51:53 -04:00
Jay Berkenbilt
5f59c32f87
Add a few minor enhancements to recent work
...
Test coverage case for new newStream method
Expose decimal_places argument for double-based newReal
All enhancements suggested by Tobias.
2012-06-27 10:43:27 -04:00
Jay Berkenbilt
a167ce8120
Update ChangeLog and TODO
2012-06-27 10:20:50 -04:00
Jay Berkenbilt
d6cb2b9418
Add test code for Pl_Concatenate
2012-06-27 10:20:47 -04:00
Tobias Hoffmann
f07e3370f0
Add Pl_Concatenate filter
2012-06-27 10:20:38 -04:00
Tobias Hoffmann
43c404b45a
Add QPDFObjectHandle::newStream(QPDF *, std::string const&)
...
This makes the code simpler than having to create a buffer of a fixed
size and copy the string to it.
2012-06-27 10:19:57 -04:00
Tobias Hoffmann
75054c0b94
Add QPDFObjectHandle::newReal(double)
2012-06-27 10:19:01 -04:00
Jay Berkenbilt
5b4aba20a2
TODO
2012-06-27 06:48:06 -04:00
Jay Berkenbilt
2266c6232b
Rework InputSource::readLine to make it much more efficient
...
This rework makes xref reconstruction run much faster and use much
less memory.
2012-06-27 06:48:06 -04:00
Jay Berkenbilt
736bafbb9c
Rename seek functions in QUtil
2012-06-26 23:10:10 -04:00
Jay Berkenbilt
0802ba275f
Visual C++ and mingw32 fixes for large files
2012-06-26 23:05:59 -04:00
Jay Berkenbilt
f60bb8e071
Allow environment variable to override LARGE_FILE_TEST_PATH
2012-06-26 10:03:20 -04:00
Jay Berkenbilt
5e3167e856
Set version to 3.0.a0
2012-06-25 21:35:30 -04:00
Jay Berkenbilt
9f67094800
Fix typo
2012-06-25 21:32:38 -04:00
Jay Berkenbilt
df3c762600
Fix Windows compilation issue
2012-06-25 21:01:55 -04:00
Jay Berkenbilt
1a3e88ca09
Fix large file support for 32-bit Linux
2012-06-25 10:51:44 -04:00
Jay Berkenbilt
fb14dc5893
Autoconf 2.68 is new enough
2012-06-25 10:51:16 -04:00
Jay Berkenbilt
0e1caa502d
Cosmetic fix to Makefile for showing test output
2012-06-24 19:05:25 -04:00
Jay Berkenbilt
5c8d5b1a6c
Update ChangeLog for previous fixes
2012-06-24 15:56:59 -04:00
Jay Berkenbilt
47fe285567
Update TODO
2012-06-24 15:56:59 -04:00
Jay Berkenbilt
c16db4106c
Increase padding in linearized files
...
With QPDF allowing integers to contain 64-bit quantities, this change
is necessary to be able to linearize files whose sizes might be larger
than 10 digits.
2012-06-24 15:56:59 -04:00
Jay Berkenbilt
8318d81ada
Fix and test support for files >= 4 GB
2012-06-24 15:56:50 -04:00
Jay Berkenbilt
781c313058
Change QPDF_Integer from int to long long
...
This makes it possible to store offsets that are larger than 2 GB in
the trailer dictionary.
2012-06-24 15:20:01 -04:00
Jay Berkenbilt
4ef95dbda4
Suppress showing failed test output by default
...
Provide option to show test output if requested.
2012-06-24 15:20:01 -04:00
Jay Berkenbilt
2a057ac0d4
Add test case for removing a page we don't have
2012-06-23 18:32:14 -04:00
Jay Berkenbilt
4f305488d8
Improve the FILE* version of QPDF::processFile
2012-06-23 18:23:06 -04:00
Tobias Hoffmann
7f95ad5b92
Fixed missing throw
2012-06-23 18:17:01 -04:00
Jay Berkenbilt
ffb96ee17e
Add pdf-from-scratch example
2012-06-23 09:05:06 -04:00
Jay Berkenbilt
bf059a6001
Replace the 8-bit characters with \x.. in QPDFWriter.cc
...
This just makes it safer to pull up this file in an editor.
2012-06-23 09:05:06 -04:00
Jay Berkenbilt
6c0af0844c
Switch some code to use empty newArray/newDictionary
2012-06-22 10:09:42 -04:00
Jay Berkenbilt
b6bdc0f595
Add factory methods for creating empty arrays and dictionaries.
...
Also updated pdf_from_scratch test driver to use the new factories,
and made some cosmetic improvements and documentation updates for the
emptyPDF() method.
2012-06-22 09:46:33 -04:00
Jay Berkenbilt
a0768e4190
Add QPDF::emptyPDF() and pdf_from_scratch test code
2012-06-21 23:09:05 -04:00