summaryrefslogtreecommitdiffstats
path: root/qpdf
AgeCommit message (Collapse)Author
2021-02-23Add new placeFormXObject that takes a matrix referenceJay Berkenbilt
2021-02-23Add copyAnnotations, use with overlay/underlay (fixes #395)Jay Berkenbilt
2021-02-22Change from QPDF{Array,Dict}Items to aitems() and ditems()Jay Berkenbilt
2021-02-21Add transformAnnotations and fix flattenRotations to use itJay Berkenbilt
2021-02-21Explicitly override inherited rotate in flattenRotationsJay Berkenbilt
2021-02-21QPDFObjectHandle::copyStreamJay Berkenbilt
2021-02-20Allow --rotate=0Jay Berkenbilt
2021-02-18Use QUtil::path_basenameJay Berkenbilt
2021-02-18Add numeric argument to --collateJay Berkenbilt
This takes pages from the file in groups of n with default = 1. This partially fixes the enhancement in issue #505 but doesn't implement the entire suggestion.
2021-02-15Add QPDFObjectHandle::parse for strings with contextJay Berkenbilt
2021-02-14Add functional versions of QPDFObjectHandle::replaceStreamDataJay 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-13QUtil::double_to_string: trim trailing zeroes with option to disableJay Berkenbilt
2021-02-10Explicitly deprecate old name/number tree constructorsJay Berkenbilt
Use C++14 [[deprecated]] tag
2021-02-10Add attachment information to the json outputJay Berkenbilt
2021-02-10Add CLI support for working with attachmentsJay Berkenbilt
2021-02-10Minor clean up of Windows headersJay Berkenbilt
2021-02-10Implement helpers for file attachmentsJay Berkenbilt
2021-02-06Remove erroneous handling of /EFF for stream decryptionJay Berkenbilt
I thought /EFF was supposed to be used as a default for decrypting embedded file streams, but actually it's supposed to be advice to a conforming writer about handling new ones. This makes sense since the findAttachmentStreams code, which is not actually needed, was never right.
2021-02-06Make wrong object stream type a warningJay Berkenbilt
2021-02-06Cosmetic fix to helpJay Berkenbilt
2021-02-05Better fix to insecure password check (fixes #501)Jay Berkenbilt
2021-02-04Add --password-file=filename option (fixes #499)Jay Berkenbilt
2021-02-04Require --allow-insecure to create certain encrypted files (fixes #501)Jay Berkenbilt
For now, --allow-insecure allows creation of files with the owner passwords empty or matching the user password.
2021-02-03Handle older PDFs whose form XObjects inherit resources (fixes #494)Jay Berkenbilt
When removing unreferenced resources, notice if a page (recursively) contains a form XObject with unreferenced resources, and count any such resources as referenced by the page.
2021-02-03Handle warnings in --pages from other filesJay Berkenbilt
Warnings were not being handled per --no-warn or generating exit code 3.
2021-01-30Add C++ iterator API around array and dictionary objectsJay Berkenbilt
2021-01-26NNTree: rework iterators to be more memory efficientJay Berkenbilt
Keep a std::pair internal to the iterators so that operator* can return a reference and operator-> can work, and each can work without copying pairs of objects around.
2021-01-26name/number trees: removeJay Berkenbilt
2021-01-25name/number trees: insertAfterJay Berkenbilt
2021-01-25name/number trees: newEmpty, increment/decrement end()Jay Berkenbilt
2021-01-25Implement repair and insert for name/number treesJay Berkenbilt
2021-01-24QPDFObjectHandle::newUnicodeString to uses UTF-16 only when neededJay Berkenbilt
Use the first of ASCII, PDFDocEncoding, or UTF-16 that is capable of encoding the string.
2021-01-24Use new QPDF{Name,Number}TreeObjectHelper APIJay Berkenbilt
2021-01-24Add new constructors for name/number tree helpersJay Berkenbilt
Add constructors that take a QPDF object so we can issue warnings and create new indirect objects.
2021-01-24Add iterators to name/number tree helpersJay Berkenbilt
2021-01-24Reimplement name and number tree object helpersJay Berkenbilt
Create a computationally and memory efficient implementation of name and number trees that does binary searches as intended by the data structure rather than loading into a map, which can use a great deal of memory and can be very slow.
2021-01-06Warn rather than segv on access after closing input source (fixes #495)Jay Berkenbilt
2021-01-04Prepare version 10.1.0release-qpdf-10.1.0Jay Berkenbilt
2021-01-04Update copyright to 2021Jay Berkenbilt
2021-01-04Remove unreferenced resources only from relevant pagesJay Berkenbilt
2021-01-04Fix zsh completion arguments (fixes #473)Jay Berkenbilt
2021-01-02Make more QPDFPageObjectHelper methods work with form XObjectJay Berkenbilt
2021-01-02Externalize inline images now includes form XObjectsJay Berkenbilt
2021-01-02Bug fix: avoid extraneous pipeline finish calls with multiple contentsJay 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-02Add 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-02QPDFPageObjectHelper: getPageImages -> getImagesJay Berkenbilt
2021-01-02QPDFPageObjectHelper::getPageImages: support form XObjectsJay Berkenbilt
2020-12-30Add QPDFPageObjectHelper::flattenRotation and --flatten-rotationJay Berkenbilt
2020-12-28Add QPDFObjectHandle::setFilterOnWriteJay Berkenbilt
2020-12-28Let optimize filter stream parameters instead of making them directJay Berkenbilt
Also removes preclusion of stream references in stream parameters of filterable streams and reduces write times by about 8% by eliminating an extra traversal of the objects.