-
Sometimes it's an offset in an object stream or a content stream, so file position is confusing in some cases.
-
Implement a TokenFilter class and refactor Pl_QPDFTokenizer to use a TokenFilter class called ContentNormalizer. Pl_QPDFTokenizer is now a general filter that passes data through a TokenFilter.
-
Adding a trailing newline in content normalization damages files whose contents are split across streams in the middle of tokens. Let QPDFWriter add the newline with the indicator to ignore the newline, which it already does. This changes the way some qdf files look.
-
Significant enhancements to the lexer to improve EOF handling and to support comments and spaces as tokens. Various other minor issues were fixed as well.
-
This is useful only for debugging the linearization code.
-
Add options to enable the raw encryption key to be directly shown or specified. Thanks to Didier Stevens <didier.stevens@gmail.com> for the idea and contribution of one implementation of this idea.
-
Make sure to link from the source tree before linking from the system. In many environments, this is necessary to allow a newly built qpdf to link properly instead of trying to link or resolve libraries from an older installed version.
-
The Apache License version 2.0 is now the primary license for qpdf. However, users may, at their option, continue to use Artistic version 2.0.
-
Tweak the message so that we inform the user that we are mitigating data loss.
-
Most of the README files have been renamed. Refer to the new names.
-
This commit adds several API methods that enable control over which types of filters QPDF will attempt to decode. It also adds support for /RunLengthDecode and /DCTDecode filters for both encoding and decoding.
-
This reverts commit 8ee83ca722baad9434119bb72d620dfd8e6103c4. This is being removed because qpdf now has its own page rotation. The example was an excellent contribution to qpdf, but now it illustrates rotating pages "by hand", which is no longer needed because of QPDFObjectHandle::rotatePage.
-
This is in preparation for implementing page groups.
-
Add a newline unconditionally before endstream even if a newline was already written as part of the stream data.