aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
2021-02-18Add QUtil::path_basenameJay Berkenbilt
2021-02-15Add QPDFObjectHandle::parse for strings with contextJay Berkenbilt
2021-02-14Use functional replaceStreamDataJay 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-13Move QPDFMatrix into the public APIJay Berkenbilt
2021-02-13QUtil::double_to_string: trim trailing zeroes with option to disableJay Berkenbilt
2021-02-11Allow zone information to be omitted from timestamp stringsJay Berkenbilt
2021-02-11Add autoconf test for localtime_rJay Berkenbilt
2021-02-10Require C++14 instead of C++11Jay Berkenbilt
2021-02-10Fix loop in QPDFOutlineDocumentHelper (fuzz issue 30507)Jay Berkenbilt
2021-02-10Update to new name/number tree APIJay Berkenbilt
2021-02-10Minor clean up of Windows headersJay Berkenbilt
2021-02-10Implement helpers for file attachmentsJay Berkenbilt
2021-02-09Add QUtil methods for dealing with PDF timestamp stringsJay Berkenbilt
2021-02-08Make newly created name/number trees indirect objectsJay Berkenbilt
2021-02-08Add QUtil::pipe_file and QUtil::file_providerJay 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-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-03Refactor removal of unreferenced resourcesJay Berkenbilt
Refactor in preparation for resolving unresolved resources in form xobjects from page.
2021-01-31Handle strings in inline image dictionariesJay Berkenbilt
We need to use token.getRawValue, not token.getValue
2021-01-31Recover from exceptions during filtering for inline imagesJay Berkenbilt
2021-01-31Improve memory safety of dict/array iteratorsJay Berkenbilt
2021-01-30Add C++ iterator API around array and dictionary objectsJay Berkenbilt
2021-01-29Make QPDFObjectHandle::is* return false for uninitialized objectsJay Berkenbilt
2021-01-29name/number tree: explicitly declare default destructorsJay 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-24Use QPDFNameTreeObjectHelper's iterator directlyJay Berkenbilt
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-17Add warn() to QPDF's public APIJay Berkenbilt
2021-01-11Treat /EmbeddedFiles as a proper name treeJay Berkenbilt
If we ever had an encrypted file with different filters for attachments and either the /EmbeddedFiles name tree was deep or some of the file specs didn't have /Type, we would have overlooked those as attachment streams. The code now properly handles /EmbeddedFiles as a name tree.
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-04Spell checkJay Berkenbilt
2021-01-04Fix some pipelines to be safe if downstream write fails (fuzz issue 28262)Jay Berkenbilt
2021-01-03Fix outdated commentJay 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: filterPageContents -> filterContents + form XObjectJay Berkenbilt
2021-01-02QPDFPageObjectHelper: getPageImages -> getImagesJay Berkenbilt