Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-01-05 | Spell check | Jay Berkenbilt | |
2019-01-04 | Add QPDFWriter::getFinalVersion (fixes #266) | Jay Berkenbilt | |
2019-01-04 | Don't call assert while checking linearization data (fixes #209, #231) | Jay Berkenbilt | |
Instead of calling assert for problems found during checking linearization data, throw an exception which is later caught and issued as an error. Ideally we would handle errors more robustly, but this is still a significant improvement. | |||
2019-01-04 | Fix dangling references (fixes #240) | Jay Berkenbilt | |
On certain operations, such as iterating through all objects and adding new indirect objects, walk through the entire object structure and explicitly resolve any indirect references to non-existent objects. That prevents new objects from springing into existence and causing the previously dangling references to point to them. | |||
2019-01-04 | Add basic appearance stream generation | Jay Berkenbilt | |
2019-01-04 | Add QUtil::utf8_to_ascii | Jay Berkenbilt | |
2019-01-04 | Add special case setV code for button fields | Jay Berkenbilt | |
2019-01-04 | Add form fields to json output | Jay Berkenbilt | |
Also add some additional methods for detecting form field types to assist in the json creation and for later use. | |||
2019-01-03 | Honor flags when flattening annotations | Jay Berkenbilt | |
2019-01-03 | Minor fixes | Jay Berkenbilt | |
2019-01-03 | Fix seg fault on empty xref stream (fixes #263) | Jay Berkenbilt | |
Thanks to @p-cher for supplying a patch. | |||
2019-01-03 | Switch annotation flattening to use the form xobjects | Jay Berkenbilt | |
Instead of directly putting the contents of the annotation appearance streams into the page's content stream, add commands to render the form xobjects directly. This is a more robust way to do it than the original solution as it works properly with patterns and avoids problems with resource name clashes between the pages and the form xobjects. | |||
2019-01-01 | Annotation flattening including form fields | Jay Berkenbilt | |
Flatten annotations by integrating their appearance streams into the content stream of the containing page. In the case of form fields, only flatten if /NeedAppearance is false (or equivalently absent). If flattening form fields, also remove /AcroForm from the document catalog. | |||
2019-01-01 | Add QPDFObjectHandle::mergeDictionary() | Jay Berkenbilt | |
2019-01-01 | Add matrix and annotation appearance stream handling | Jay Berkenbilt | |
Generate page content fragment for rendering appearance streams including all matrix calculation. | |||
2019-01-01 | Add Matrix class under QPDFObjectHandle | Jay Berkenbilt | |
2019-01-01 | Transformation matrix | Jay Berkenbilt | |
2018-12-25 | JSON::serialize -> unparse | Jay Berkenbilt | |
Unparse is admittedly strange, but I'd rather be strange and consistent, and everything else in the qpdf library uses unparse to serialize. (If you're reading this, the convention of using "unparse" comes from the "clu" programming language.) | |||
2018-12-22 | Move numrange code from qpdf.cc to QUtil.cc | Jay Berkenbilt | |
Also move tests to libtests. | |||
2018-12-22 | Add document and object helpers for outlines (bookmarks) | Jay Berkenbilt | |
2018-12-22 | Add QPDFObjectHandle::getJSON() | Jay Berkenbilt | |
2018-12-22 | Add simple JSON serializer | Jay Berkenbilt | |
2018-12-22 | Add QPDFNameTreeObjectHelper | Jay Berkenbilt | |
2018-12-21 | Minor cleanup | Jay Berkenbilt | |
2018-12-18 | Add QPDFPageLabelDocumentHelper | Jay Berkenbilt | |
2018-12-18 | Add QPDFNumberTreeObjectHelper | Jay Berkenbilt | |
2018-12-18 | Add QPDFObjectHandle::wrapInArray() | Jay Berkenbilt | |
Wrap an object in an array if it is not already an array. | |||
2018-10-11 | Commit automatically generated files | Jay Berkenbilt | |
2018-08-18 | Prepare 8.2.1 releaserelease-qpdf-8.2.1 | Jay Berkenbilt | |
2018-08-16 | Prepare 8.2.0 releaserelease-qpdf-8.2.0 | Jay Berkenbilt | |
2018-08-16 | Missing header for std::max | Jay Berkenbilt | |
2018-08-14 | Fix error in QPDFSystemError.cc | Jay Berkenbilt | |
2018-08-14 | New exception class QPDFSystemError (fixes #221) | Jay Berkenbilt | |
2018-08-13 | Fix fallback logic for encryption (fixes #229) | Jay Berkenbilt | |
2018-08-13 | Fix one more identifier (fixes #236) | Jay Berkenbilt | |
2018-08-13 | Catch exceptions as const references (fixes #236) | Jay Berkenbilt | |
This fix allows qpdf to compile/test cleanly with gcc 8. | |||
2018-08-12 | Pl_Buffer: reduce memory growth (fixes #228) | Jay Berkenbilt | |
Rather than keeping a list of buffers for every write, accumulate bytes in a single buffer, doubling the size of the buffer when needed to accommodate new data. This is not the best possible implementation, but the change was implemented in this way to avoid changing the shape of Pl_Buffer and thus breaking backward compatibility. | |||
2018-08-12 | Protect headers with compliant identifiers (fixes #233) | Jay Berkenbilt | |
2018-08-12 | Fix memory access error | Jay Berkenbilt | |
A previous fix introduced a potentially memory overrun under certain rare conditions. The test suite now once again passes with address sanitizer. | |||
2018-08-12 | Remove some extraneous null pointer checks (fixes #234) | Jay Berkenbilt | |
There were a few places in the code that were checking that a pointer wasn't null before deleting it, even though C++ has always allowed delete 0. Most of the code did not perform these checks. | |||
2018-08-06 | Fix EOL handling inside strings (fixes #226) | Jay Berkenbilt | |
CR, CRLF, and LF are all supposed to be treated as LF; only one EOL is to be ignored after backslash. | |||
2018-08-05 | Return correct method for string encryption (fixes #227) | Jay Berkenbilt | |
2018-08-05 | Fix infinite loop on small files with progress reporting (fixes #230) | Jay Berkenbilt | |
Turns out you can keep adding zero to a number over and over again and it just doesn't get any bigger. Who would have known? | |||
2018-08-05 | ClosedFileInputSource: add method to keep file open | Jay Berkenbilt | |
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations. | |||
2018-06-23 | Prepare 8.1.0 releaserelease-qpdf-8.1.0 | Jay Berkenbilt | |
2018-06-23 | Bug fix: honor encryption key length with R=3 (fixes #212) | Jay Berkenbilt | |
2018-06-22 | Add progress reporting for QPDFWriter (fixes #200) | Jay Berkenbilt | |
2018-06-22 | Add method to get count of objects in QPDF | Jay Berkenbilt | |
2018-06-22 | Correct incorrect comment | Jay Berkenbilt | |
2018-06-22 | Add ClosedFileInputSource | Jay Berkenbilt | |
ClosedFileInputSource is an input source that keeps the file closed when not reading it. |