Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-12-10 | Use a specific error code for type warnings and clarify docs | Jay Berkenbilt | |
2021-11-04 | Check object ownership when adding | Jay Berkenbilt | |
When adding a QPDFObjectHandle to an array or dictionary, if possible, check if the new object belongs to the same QPDF. This makes it much easier to find incorrect code than waiting for the situation to be detected when the file is written. | |||
2021-03-04 | Revert non-binary-compatible handleWarning change -- see TODO (ABI) | Jay Berkenbilt | |
2021-03-04 | Don't use handleWarning, which is being reverted | Jay Berkenbilt | |
2021-03-04 | Check for reserved after dereference | Jay Berkenbilt | |
2021-03-04 | Add optional conflict detection to mergeResources | Jay Berkenbilt | |
Also improve behavior around direct vs. indirect resources. | |||
2021-03-03 | Enhancements to ParserCallbacks | Jay Berkenbilt | |
2021-02-25 | Have QPDFObjectHandle notice when replaceObject was called | Jay Berkenbilt | |
This results in a performance penalty of 1% to 2% when replaceObject and swapObjects are never called and a somewhat larger penalty if they are called, but it's worth it to avoid very confusing behavior as discussed in depth in qpdf#507. | |||
2021-02-25 | Always call dereference() before querying obj pointer | Jay Berkenbilt | |
2021-02-22 | Change from QPDF{Array,Dict}Items to aitems() and ditems() | Jay Berkenbilt | |
2021-02-21 | QPDFObjectHandle::copyStream | Jay Berkenbilt | |
2021-02-21 | Enhance QPDFMatrix API | Jay Berkenbilt | |
2021-02-21 | Fix isPagesObject and isPageObject | Jay Berkenbilt | |
There are lots of things with /Kids that are not pages. Repair the pages tree, then do a reliable check. | |||
2021-02-20 | Allow --rotate=0 | Jay Berkenbilt | |
2021-02-15 | Add QPDFObjectHandle::parse for strings with context | Jay Berkenbilt | |
2021-02-14 | Add functional versions of QPDFObjectHandle::replaceStreamData | Jay Berkenbilt | |
Also fix a bug in checking consistency of length for stream data providers. Length should not be checked or recorded if the provider says it failed to generate the data. | |||
2021-02-13 | QUtil::double_to_string: trim trailing zeroes with option to disable | Jay Berkenbilt | |
2021-01-31 | Improve memory safety of dict/array iterators | Jay Berkenbilt | |
2021-01-30 | Add C++ iterator API around array and dictionary objects | Jay Berkenbilt | |
2021-01-29 | Make QPDFObjectHandle::is* return false for uninitialized objects | Jay Berkenbilt | |
2021-01-17 | Add warn() to QPDF's public API | Jay Berkenbilt | |
2021-01-02 | Make more QPDFPageObjectHelper methods work with form XObject | Jay Berkenbilt | |
2021-01-02 | Bug fix: avoid extraneous pipeline finish calls with multiple contents | Jay Berkenbilt | |
Avoid calling finish() multiple times on the pipeline passed to pipeContentStreams. This commit also fixes a bug in which qpdf was not exiting with the proper exit status if warnings found while splitting pages; this was exposed by a test case that changed. | |||
2021-01-02 | Add several methods for working with form XObjects (fixes #436) | Jay Berkenbilt | |
Make some more methods in QPDFPageObjectHelper work with form XObjects, provide forEach methods to walk through nested form XObjects, possibly recursively. This should make it easier to work with form XObjects from user code. | |||
2021-01-02 | QPDFPageObjectHelper: getPageImages -> getImages | Jay Berkenbilt | |
2021-01-02 | QPDFPageObjectHelper::getPageImages: support form XObjects | Jay Berkenbilt | |
2021-01-01 | Add QPDFObjectHandle::isFormXObject | Jay Berkenbilt | |
2020-12-28 | Add QPDFObjectHandle::setFilterOnWrite | Jay Berkenbilt | |
2020-12-26 | Add QPDFObjectHandle::makeDirect(bool allow_streams) | Jay Berkenbilt | |
2020-11-11 | Treat direct page as runtime rather than logic error (fuzz issue 27393) | Jay Berkenbilt | |
2020-10-23 | Avoid merging adjacent tokens when concatenating contents (fixes #444) | Jay Berkenbilt | |
2020-04-16 | Fix warnings reported by -Wshadow=local (fixes #431) | Jay Berkenbilt | |
2020-04-06 | Allow propagation of errors and retry through StreamDataProvider | Jay Berkenbilt | |
StreamDataProvider::provideStreamData now has a rich enough API for it to effectively proxy to pipeStreamData. | |||
2020-04-04 | Avoid potential segfault in warning methods | Jay Berkenbilt | |
2020-04-03 | Add QPDFObjectHandle::unsafeShallowCopy | Jay Berkenbilt | |
2020-04-03 | Performance: remove Members indirection for QPDFObjectHandle | Jay Berkenbilt | |
2020-03-31 | Refactor QPDFPageObjectHelper::removeUnreferencedResources() | Jay Berkenbilt | |
Refactor removeUnreferencedResources to prepare for filtering form XObjects. | |||
2019-10-22 | Parse Contents in signature dictionary without encryption | Masamichi Hosoda | |
Various PDF digital signing tools do not encrypt /Contents value in signature dictionary. Adobe Acrobat Reader DC can handle a PDF with the /Contents value not encrypted. Write Contents in signature dictionary without encryption Tests ensure that string /Contents are not handled specially when not found in sig dicts. | |||
2019-10-22 | Add QPDFObject::getParsedOffset() | Masamichi Hosoda | |
2019-09-20 | Correct reversed Rectangle coordinates (fixes #363) | Jay Berkenbilt | |
2019-09-20 | Warn for duplicated dictionary keys (fixes #345) | Jay Berkenbilt | |
2019-08-26 | Fix fuzz issue 16301 | Jay Berkenbilt | |
2019-08-23 | Pass offset and length to ParserCallbacks::handleObject | Jay Berkenbilt | |
2019-08-22 | Test for direct, rather than resolved nulls in parser | Jay Berkenbilt | |
Just because we know an indirect reference is null, doesn't mean we shouldn't keep it indirect. | |||
2019-08-22 | Protect against coding error of re-entrant parsing | Jay Berkenbilt | |
2019-08-20 | Handle invalid name tokens symmetrically for PDF < 1.2 (fixes #332) | Jay Berkenbilt | |
2019-08-18 | Shallow copy arrays without removing sparseness | Jay Berkenbilt | |
2019-08-18 | Use SparseOHArray in parsing | Jay Berkenbilt | |
2019-08-18 | Refactor QPDF_Array in preparation for using SparseOHArray | Jay Berkenbilt | |
2019-08-18 | SparseOHArray | Jay Berkenbilt | |