Age | Commit message (Collapse) | Author |
|
|
|
Use --encryption-file-password, if given, in addition to --password as
a source for passwords for files specified in --pages.
|
|
|
|
3.0.rc1
|
|
LARGE_FILE_TEST_PATH -> QPDF_LARGE_FILE_TEST_PATH
SKIP_TEST_COMPARE_IMAGES -> QPDF_SKIP_TEST_COMPARE_IMAGES
|
|
|
|
Previous commit lost coverage case for buffer-based replaceStreamData.
|
|
|
|
Implement --pages ... -- option for qpdf. Update TODO with remaining
things to document.
|
|
Move object parsing code from QPDF to QPDFObjectHandle and
parameterize the parts of it that are specific to a QPDF object.
Provide a version that can't handle indirect objects and that can be
called on an arbitrary string.
A side effect of this change is that the offset used when reporting
invalid stream length has changed, but since the new value seems like
a better value than the old one, the test suite has been updated
rather than making the code backward compatible. This only effects
the offset reported for invalid streams that lack /Length or have an
invalid /Length key.
Updated some test code and exmaples to use QPDFObjectHandle::parse.
Supporting changes include adding a BufferInputSource constructor that
takes a string.
|
|
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.
|
|
|
|
from qpdf command-line tool
|
|
Method to copy encryption parameters from another file. Adapted from
existing code to copy encryption parameters from the original file.
|
|
This way we don't have to hard-code the name of a second file in the
test driver for tests that require one.
|
|
Throw an exception that directs the user to QPDF::copyForeignObject.
|
|
This includes QPDF::copyForeignObject and supporting foreign objects
as arguments to addPage*.
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
Test coverage case for new newStream method
Expose decimal_places argument for double-based newReal
All enhancements suggested by Tobias.
|
|
This makes the code simpler than having to create a buffer of a fixed
size and copy the string to it.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Also updated pdf_from_scratch test driver to use the new factories,
and made some cosmetic improvements and documentation updates for the
emptyPDF() method.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Significantly improve the code's use of off_t for file offsets, size_t
for memory sizes, and integer types in cases where there has to be
compatibility with external interfaces. Rework sections of the code
that would have prevented qpdf from working on files larger than 2 (or
maybe 4) GB in size.
|
|
|
|
|
|
This works around cases where gs falsely complains about things in the
PDF files or gives warnings that don't harm the output. See comments
in qpdf.test for details.
|
|
instead of delete, thus making it useful to run valgrind over qpdf during its test suite
|
|
|
|
|