Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-03-03 | Ignore zlib data check errors (fixes #191) | Jay Berkenbilt | |
2018-02-25 | Separate copyright notice from --version option | Jay Berkenbilt | |
2018-02-19 | Properly handle strings with PDF Doc Encoding (fixes #179) | Jay Berkenbilt | |
The QPDF_String::getUTF8Val() method was not treating strings that weren't explicitly Unicode as PDF Doc Encoded. This only affects characters in the range 0x80 through 0xa0. | |||
2018-02-19 | Add C API for checking PDF files | Jay Berkenbilt | |
2018-02-19 | Reorganize some test cases | Jay Berkenbilt | |
Too many test cases were "miscellaneous". | |||
2018-02-19 | More robust handling of type errors | Jay Berkenbilt | |
Give objects descriptions and context so it is possible to issue warnings instead of fatal errors for attempts to access objects of the wrong type. | |||
2018-02-19 | Replace "file position" with "offset" in error messages | Jay Berkenbilt | |
Sometimes it's an offset in an object stream or a content stream, so file position is confusing in some cases. | |||
2018-02-19 | Include omitted object description in error message | Jay Berkenbilt | |
2018-02-19 | Include filename in object stream parse error | Jay Berkenbilt | |
2018-02-19 | Detect and report bad tokens in content normalization | Jay Berkenbilt | |
2018-02-19 | Implement TokenFilter and refactor Pl_QPDFTokenizer | Jay Berkenbilt | |
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. | |||
2018-02-19 | Add coalesce contents capability | Jay Berkenbilt | |
2018-02-19 | Bug fix: content normalizer should not add trailing newline | Jay Berkenbilt | |
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. | |||
2018-02-19 | Switch from parseContentStream to parsePageContents | Jay Berkenbilt | |
2018-02-19 | Refactor parseContentStream | Jay Berkenbilt | |
2018-02-19 | Inline image token type | Jay Berkenbilt | |
2018-02-19 | Lexer enhancements: EOF, comment, space | Jay Berkenbilt | |
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. | |||
2018-02-19 | Create isolated tokenizer tests | Jay Berkenbilt | |
This tokenizes outer parts of the file, page content streams, and object streams. It is for exercising the tokenizer in isolation and is being introduced before reworking the lexical layer of qpdf. | |||
2018-02-19 | Add option to save pass 1 of lineariziation | Jay Berkenbilt | |
This is useful only for debugging the linearization code. | |||
2018-02-05 | Fix linearization for files with nonstandard ID length | Jay Berkenbilt | |
2018-01-29 | Test stream that ends with name token and no newline | Jay Berkenbilt | |
2018-01-14 | Allow raw encryption key to be specified | Jay Berkenbilt | |
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. | |||
2018-01-14 | Allow trailing . in numeric token (fixes #165) | Jay Berkenbilt | |
2018-01-14 | Support TIFF Predictor (fixes #171) | Jay Berkenbilt | |
2018-01-14 | Use better error for getStreamData failure | Jay Berkenbilt | |
If the stream isn't filterable but we call getStreamData, throw a regular exception instead of a logic error so that normal error handling and reporting mechanisms will be used. | |||
2017-12-26 | Add tests for new PNG filters | Jay Berkenbilt | |
2017-09-12 | Improve message for stream decoding error | Jay Berkenbilt | |
Tweak the message so that we inform the user that we are mitigating data loss. | |||
2017-09-12 | Update C API with new QPDFWriter methods | Jay Berkenbilt | |
2017-08-29 | Add test case for overflow in PNG filter (fixes #150) | Jay Berkenbilt | |
2017-08-29 | Add tests for previous memory issues | Jay Berkenbilt | |
Now that the test suite runs clean with address sanitizer, add some test cases that previously were used to expose memory errors. | |||
2017-08-26 | Parse iteratively to avoid stack overflow (fixes #146) | Jay Berkenbilt | |
2017-08-26 | Detect xref pointer infinite loop (fixes #149) | Jay Berkenbilt | |
2017-08-22 | Fix logic error in recovery | Jay Berkenbilt | |
A stray semicolon caused a condition to be incorrectly applied during stream length recovery. | |||
2017-08-22 | Add tests for PCLm | Jay Berkenbilt | |
Files written in PCLm mode have to be created in a very specific way. qpdf doesn't know how to create PCLm files from scratch. All it knows how to do is to write an already valid file in a suitable way. Therefore there is no command-line support for PCLm. | |||
2017-08-21 | Precheck streams by default | Jay Berkenbilt | |
There is no need for a --precheck-streams option. We can do the precheck without imposing any penalty, only re-encoding the stream if it fails the first time. | |||
2017-08-21 | Enable finer grained control of stream decoding | Jay Berkenbilt | |
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. | |||
2017-08-19 | Fix test case | Jay Berkenbilt | |
There was an unintended recoverable error in a test file. It wasn't hurting anything, but it was obscuring the actual intent of the test. | |||
2017-08-13 | Add page rotation (fixes #132) | Jay Berkenbilt | |
2017-08-12 | Add --verbose flag | Jay Berkenbilt | |
2017-08-12 | Support groups of pages in --split-pages (fixes #30) | Jay Berkenbilt | |
2017-08-12 | Change --single-pages to --split-pages | Jay Berkenbilt | |
This is in preparation for implementing page groups. | |||
2017-08-12 | Note about veraPDF | Jay Berkenbilt | |
2017-08-12 | Fix infinite loop in QPDFWriter (fixes #143) | Jay Berkenbilt | |
2017-08-12 | Fix --newline-before-endstream option (fixes #133) | Jay Berkenbilt | |
Add a newline unconditionally before endstream even if a newline was already written as part of the stream data. | |||
2017-08-12 | Prevent a division by zero error (fixes #141) | Jay Berkenbilt | |
Bad /W in an xref stream could cause a division by zero error. Now this is handled as a special case. | |||
2017-08-12 | Pad encryption parameters that are too short (fixes #96) | Jay Berkenbilt | |
2017-08-11 | Sanitize test suite | Jay Berkenbilt | |
Remove problematic test files | |||
2017-08-11 | Read xref table without PCRE | Jay Berkenbilt | |
Also accept more errors than before. | |||
2017-08-11 | Improve stream length recovery | Jay Berkenbilt | |
Eliminate PCRE and find endobj not preceded by endstream. Be more lax about placement of endstream and endobj. | |||
2017-08-11 | Find xref without PCRE | Jay Berkenbilt | |