Jay Berkenbilt
15eaed5c52
Refactor: pull *InputSource out of QPDF
...
InputSource, FileInputSource, and BufferInputSource are now top-level
classes instead of privately nested inside QPDF.
2012-07-21 09:06:06 -04:00
Jay Berkenbilt
8657c6f004
Prevent seeking before beginning of BufferInputSource
2012-07-18 09:50:05 -04:00
Jay Berkenbilt
8ea2f8441d
TODO notes
2012-07-15 21:27:08 -04:00
Jay Berkenbilt
a101533e0a
Add command line option to copy encryption from other file
...
Add --copy-encryption and --encryption-file-password options to qpdf.
Also strengthen test suite for copying encryption. The strengthened
test suite would have caught the failure to preserve AES and the
failure to update the file version, which was invalidating the
encrypted data.
2012-07-15 21:15:24 -04:00
Jay Berkenbilt
b26ce88ea1
Minor fixes to copyEncryptionParameters
...
This fixes were to code added yesterday; the problems would not have
impacted any previously released code. These are all changes related
to the possibility that copyEncryptionParameters may be called on
behalf a different QPDF than the one being written.
2012-07-15 21:14:02 -04:00
Jay Berkenbilt
db95960ac1
Bug fix: preserve AES when copying encryption parameters
2012-07-15 19:07:59 -04:00
Jay Berkenbilt
b501251291
qpdf: push inherited attributes to page when showing images
...
from qpdf command-line tool
2012-07-15 16:22:28 -04:00
Jay Berkenbilt
0575d77d77
Add public QPDFWriter::copyEncryptionParameters
...
Method to copy encryption parameters from another file. Adapted from
existing code to copy encryption parameters from the original file.
2012-07-14 09:14:41 -04:00
Jay Berkenbilt
ee3682f106
test_driver: accept optional second file name
...
This way we don't have to hard-code the name of a second file in the
test driver for tests that require one.
2012-07-14 08:48:30 -04:00
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