aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf
AgeCommit message (Collapse)Author
2023-03-20Merge pull request #814 from m-holger/checkJay Berkenbilt
Warn if catalog type entry is invalid (fixes #810)
2023-03-19Warn if catalog type entry is invalid (fixes #810)m-holger
2023-03-18Merge pull request #924 from cdosborn/mainJay Berkenbilt
Improve --optimize-images to find images nested within XObjects
2023-03-18Merge pull request #918 from m-holger/fixqdfJay Berkenbilt
Code tidy QdfFixer methods
2023-03-16Add test validating that images in nested XObjects are included in optimizationConnor Osborn
The sample file (nested-images.pdf) includes a pdf with an image that is nested within an XObject within an XObject in the Resources dict of the only page. These images were ignored in prior versions of qpdf.
2023-03-09Replace std::regex_search with string_view methods in QdfFixer::processLinesm-holger
2023-03-09Use std::string_view in QdfFixer::processLinesm-holger
Change type of local var lines to string_view. Also, instead of constructing a list of lines, read the entire input into a single string and break it up into lines on the fly.stash
2023-03-08Tidy QdfFixer::adjustOstreamXrefm-holger
2023-03-08Tidy QdfFixer::checkObjIdm-holger
2023-03-08Code tidy QdfFixer::writeBinarym-holger
2023-02-25Overlay/underlay: capture origial page as form XObject (fixes #904)Jay Berkenbilt
2023-02-19Handle linearization warnings as proper warning (fixes #851)Jay Berkenbilt
2023-02-04Add data member JSONParser::token_startm-holger
2023-01-28Implement --remove-restrictions (fixes #833)Jay Berkenbilt
2023-01-09Fix annotations properly for page with no /Resources (fixes #827)Jay Berkenbilt
2023-01-01Do double indirect test correctlyJay Berkenbilt
2022-12-31Add test case for broken indirect object referenceJay Berkenbilt
...where the first "number" is an indirect object that happens to be a number.
2022-12-31Fix QPDFObjectHandle::isScalarm-holger
Exclude uninitialized, destroyed and reserved objects.
2022-11-27Fix logic for fixDanglingReferencesJay Berkenbilt
2022-11-26Refactor QPDF::fixDanglingReferencesm-holger
2022-11-25Add test case of dangling ref not found until xref reconstructionJay Berkenbilt
2022-11-25Temporary (revert after fix): mark test as expected failureJay Berkenbilt
2022-11-25Preserve unreferenced objects in dangling testJay Berkenbilt
2022-11-25Dangling ref test: show new object IDJay Berkenbilt
2022-11-25Code formatting updatesJay Berkenbilt
2022-11-20Refactor QPDFObjectHandle::copyObject1m-holger
2022-11-19Correctly handle reuse of xref stream (fixes #809)Jay Berkenbilt
2022-11-19Use QPDF::newStream in examplesm-holger
2022-10-06Attempt to test for QPDFNameTreeObjectHelper's vtableJay Berkenbilt
It has disappeared from the DLL on Windows a few times.
2022-10-01Add private methods QPDF::damagedPDFm-holger
2022-09-26Fix edge case in character encoding (fixes #778)Jay Berkenbilt
Avoid representing as PDF Doc encoding any string whose PDF Doc encoding representation starts with a UTF-16 or UTF-8 marker.
2022-09-23Add code to CI to verify signed/unsigned charJay Berkenbilt
Make sure that our attempt to test both signed and unsigned char is actually right.
2022-09-21Replace calls to QUtil::int_to_string with std::to_stringm-holger
2022-09-13Remove explicit direct object check from getObjectJay Berkenbilt
An indirect object reference to 0, 0 is invalid. If it appears in the file or is parsed from a string, the parser catches it. This check would only be useful for someone explicitly calling getObject with 0, 0, and that would trigger an error during resolve().
2022-09-12Remove obsolete LL_FMT check from build (fixes #768)Jay Berkenbilt
This was broken for cross-compilation and has probably been unnecessary for several years now. Also fix extraneous whitespace in related some tests.
2022-09-10Change QPDFObjectHandle == to isSameObjectAsJay Berkenbilt
Replace operator== and operator!=, which were testing for the same underlying object, with isSameObjectAs. This change was motivated by the fact that pikepdf internally had its own operator== method for QPDFObjectHandle that did structural comparison. I backed out qpdf's operator== as a courtesy to pikepdf (in my own testing) but also because I think people might naturally assume that operator== does a structural comparison, and isSameObjectAs is clearer in its intent.
2022-09-09Add C API functions for using custom loggersJay Berkenbilt
Expose functions to the C API to create new loggers and to setLogger and getLogger for QPDF and QPDFJob.
2022-09-09Fix tests with GNU grep 3.8Andreas Stieger
GNU grep 3.8 started to emit warnings when invoking egrep. Convert all calls to grep -E.
2022-09-09Add JSON v2 support to C APIJay Berkenbilt
2022-09-08Change reset to disconnect and clarify commentsJay Berkenbilt
I decided that it's actually fine to copy a direct object to another QPDF. Even if we eventually prevent a QPDFObject from having multiple parents, this could happen if an object is moved.
2022-09-08Create a special "destroyed" type rather than using nullJay Berkenbilt
When a QPDF is destroyed, changing indirect objects to direct nulls makes them effectively disappear silently when they sneak into other places. Instead, we should treat this as an error. Adding a destroyed object type makes this possible.
2022-09-08Clear owning QPDF information for all objects, not just indirectJay Berkenbilt
2022-09-08Update QPDFObject with commentJay Berkenbilt
Also, since it's just there for compatibility, we don't need to add new object types to it.
2022-09-08Remove unneeded owning_qpdf from QPDFValueJay Berkenbilt
The qpdf member was already sufficient. Removing this actually fixed a few pre-existing issues around detecting foreign ownership and allowing certain conditions to be warnings rather than exceptions.
2022-09-07Fix typoJay Berkenbilt
2022-09-07Clarify and improve QPDFPageObjectHelper::get*Box methodsJay Berkenbilt
Add copy_if_fallback and explain how it differs from copy_if_shared.
2022-09-07Implement QPDFObjectHandle equalityJay Berkenbilt
2022-09-06Support --show-encryption without a valid password (fixes #598)Jay Berkenbilt
2022-09-06Re-introduce QPDFObject.hh as deprecatedJay Berkenbilt
* Just removing a header file would cause build errors with no hint as to what happened. This way, people get a warning rather than error for the life of qpdf 11, and the warning tells them what to do. * This avoids build surprises resulting from having two versions of QPDF headers installed at once. If you were building code out of a checkout of qpdf but had an older version installed on your system, if your code included <qpdf/QPDFObject.hh>, everything would work, but then your code would break without QPDFObject.hh later.
2022-09-02Add workaround for bug in ghostscript 9.56 (fixes #732)Jay Berkenbilt