Age | Commit message (Collapse) | Author |
|
The kfo-PDF files for testing need to be copied using "binmode"…
|
|
will introduce \r\n.
qpdf: selecting --keep-open-files=n
qpdf: processing 001-kfo.pdf
WARNING: 001-kfo.pdf: file is damaged
WARNING: 001-kfo.pdf (offset 556): xref not found
WARNING: 001-kfo.pdf: Attempting to reconstruct cross-reference table
|
|
There have been issues reported where exceptions are not thrown
properly across shared library/DLL boundaries, so add a test
specifically to ensure that exceptions are caught as thrown.
|
|
|
|
|
|
Ensure zlib-flate doesn't link with an old libqpdf
|
|
|
|
Since autogenerated files are now committed, we no longer need to
rerun ./autogen.sh and actually shouldn't because it could mask
errors.
|
|
|
|
|
|
|
|
|
|
Also add test cases for additional coverage on image optimization.
|
|
Do not include the trailing EI, and handle cases where EI is not
preceded by a delimiter. Such cases have been seen in the wild.
|
|
|
|
This hasn't worked or been exercised in years since Adobe stopped
releasing a Linux version of reader.
|
|
|
|
We've actually seen a PDF file in the wild that contained EI
surrounded by delimiters inside the image data, which confused qpdf's
naive code. This significantly improves EI detection.
|
|
Add a version of expectInlineImage that takes an input source and
searches for EI. This is in preparation for improving the way EI is
found. This commit just refactors the code without changing the
functionality and adds tests to make sure the old and new code behave
identically.
|
|
The inline image token erroneously included the delimiter that
followed EI. The ObjectHandle created from it was correct.
|
|
|
|
|
|
When qpdf can't optimize an image because of an unsupported color
space, state this specifically. Recognize that many valid colorspaces
are not represented as name objects.
|
|
|
|
Make explicit that copyForeignObject can be used on page objects and
will copy them properly but not update the pages tree.
|
|
|
|
When linearizing a file or getting the list of all pages in a file,
detect if the pages tree contains a duplicated page object and, if so,
shallow copy it. This makes it possible to have a one to one mapping
of page positions to page objects.
|
|
|
|
|
|
Download external libraries from an isolated branch in github to avoid
dependencies on external download locations, which cause sporadic CI
build failures.
|
|
|
|
|
|
|
|
|
|
Support conversion of pages to form XObjects and placement of form
XObjects on pages.
|
|
|
|
|
|
Add getAttribute for handling inheritable page attributes, and fix
getPageImages and annotation flattening code to use it.
|
|
If we end up using our fallback font size when generating appearances
for text fields, reflect that in the Tf operator used in the
appearance stream.
|
|
|
|
When generating appearance streams for variable text annotations,
properly handle the cases of there being no appearance dictionary, no
appearance stream, or an appearance stream with no BMC..EMC marker.
|
|
With the exception of form field annotations when /NeedAppearances is
true, remove annotations that don't have appearance streams when
flattening. There is no reason to keep these when flattening since
they are invisible. This may include unchecked checkboxes, unshown
popup windows, etc.
|
|
|
|
|
|
|
|
|
|
|
|
mingw doesn't like it when you don't inline empty virtual destructors.
|
|
Allow fine control over how passwords are encoded for writing, and
allow password for reading to be given as a hexademical encoded
string. Allow suppression of password recovery as a means to ensure
that the password you specify is actually the right one.
|
|
|