aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
2021-02-21Fix isPagesObject and isPageObjectJay Berkenbilt
There are lots of things with /Kids that are not pages. Repair the pages tree, then do a reliable check.
2021-02-20Allow --rotate=0Jay Berkenbilt
2021-02-20Add const versions of QPDFMatrix::transform*Jay Berkenbilt
2021-02-18Add QPDFAcroFormDocumentHelper::addFormFieldJay Berkenbilt
2021-02-18Add QPDFPageObjectHelper::getMatrixForFormXObjectPlacementJay Berkenbilt
2021-02-18Form field for non-widget just returns nullJay Berkenbilt
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