aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
AgeCommit message (Collapse)Author
2019-01-06Honor other base encodings when generating appearancesJay Berkenbilt
2019-01-06Add WinAnsi and MacRoman encodingJay Berkenbilt
2019-01-06Move utf8_to_utf16 into QUtilJay Berkenbilt
2019-01-05Add CLI flags for image optimizationJay Berkenbilt
2019-01-04Support page collation with --collate (fixes #259)Jay Berkenbilt
2019-01-04Add QPDFWriter::getFinalVersion (fixes #266)Jay Berkenbilt
2019-01-04Don't call assert while checking linearization data (fixes #209, #231)Jay Berkenbilt
Instead of calling assert for problems found during checking linearization data, throw an exception which is later caught and issued as an error. Ideally we would handle errors more robustly, but this is still a significant improvement.
2019-01-04Fix dangling references (fixes #240)Jay Berkenbilt
On certain operations, such as iterating through all objects and adding new indirect objects, walk through the entire object structure and explicitly resolve any indirect references to non-existent objects. That prevents new objects from springing into existence and causing the previously dangling references to point to them.
2019-01-04Add basic appearance stream generationJay Berkenbilt
2019-01-04Add QUtil::utf8_to_asciiJay Berkenbilt
2019-01-03Honor flags when flattening annotationsJay Berkenbilt
2019-01-03Minor fixesJay Berkenbilt
2019-01-03Switch annotation flattening to use the form xobjectsJay Berkenbilt
Instead of directly putting the contents of the annotation appearance streams into the page's content stream, add commands to render the form xobjects directly. This is a more robust way to do it than the original solution as it works properly with patterns and avoids problems with resource name clashes between the pages and the form xobjects.
2019-01-01Annotation flattening including form fieldsJay Berkenbilt
Flatten annotations by integrating their appearance streams into the content stream of the containing page. In the case of form fields, only flatten if /NeedAppearance is false (or equivalently absent). If flattening form fields, also remove /AcroForm from the document catalog.
2019-01-01Add QPDFObjectHandle::mergeDictionary()Jay Berkenbilt
2019-01-01Add Matrix class under QPDFObjectHandleJay Berkenbilt
2018-12-23Don't crash on @file when file doesn't exist (fixes #265)Jay Berkenbilt
When @file is used and file doesn't exist, just treat it as a normal argument.
2018-12-23Support zsh completionJay Berkenbilt
2018-12-22Document json supportJay Berkenbilt
2018-12-22Allow --show-object=trailerJay Berkenbilt
2018-12-22Support bash completion using complete -CJay Berkenbilt
2018-12-22Preserve some outline functionality in page splittingJay Berkenbilt
2018-12-22Add document and object helpers for outlines (bookmarks)Jay Berkenbilt
2018-12-22Add QPDFObjectHandle::getJSON()Jay Berkenbilt
2018-12-22Add simple JSON serializerJay Berkenbilt
2018-12-22Add QPDFNameTreeObjectHelperJay Berkenbilt
2018-12-18Preserve page labels (numbers) when splitting and mergingJay Berkenbilt
2018-12-18Add QPDFPageLabelDocumentHelperJay Berkenbilt
2018-12-18Add QPDFNumberTreeObjectHelperJay Berkenbilt
2018-12-18Add QPDFObjectHandle::wrapInArray()Jay Berkenbilt
Wrap an object in an array if it is not already an array.
2018-10-12ChangeLogJay Berkenbilt
2018-10-11Set up Azure PipelinesJay Berkenbilt
Use free Azure Pipelines to do Linux, Windows, and Mac build and test and to generate Windows binary distributions.
2018-08-18Prepare 8.2.1 releaserelease-qpdf-8.2.1Jay Berkenbilt
2018-08-18Add --keep-files-open flag (fixes #237)Jay Berkenbilt
2018-08-16Prepare 8.2.0 releaserelease-qpdf-8.2.0Jay Berkenbilt
2018-08-16Spell checkJay Berkenbilt
2018-08-14Clarify static vs. import library on Windows (fixes #225)Jay Berkenbilt
2018-08-14New exception class QPDFSystemError (fixes #221)Jay Berkenbilt
2018-08-13Add --no-warn option to suppress warnings (fixes #232)Jay Berkenbilt
2018-08-12Pl_Buffer: reduce memory growth (fixes #228)Jay Berkenbilt
Rather than keeping a list of buffers for every write, accumulate bytes in a single buffer, doubling the size of the buffer when needed to accommodate new data. This is not the best possible implementation, but the change was implemented in this way to avoid changing the shape of Pl_Buffer and thus breaking backward compatibility.
2018-08-06Fix EOL handling inside strings (fixes #226)Jay Berkenbilt
CR, CRLF, and LF are all supposed to be treated as LF; only one EOL is to be ignored after backslash.
2018-08-05Fix infinite loop on small files with progress reporting (fixes #230)Jay Berkenbilt
Turns out you can keep adding zero to a number over and over again and it just doesn't get any bigger. Who would have known?
2018-08-05Keep file open while adding its pages during merge (fixes #217)Jay Berkenbilt
2018-08-05ClosedFileInputSource: add method to keep file openJay Berkenbilt
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations.
2018-06-23Prepare 8.1.0 releaserelease-qpdf-8.1.0Jay Berkenbilt
2018-06-22With --verbose, give information on processing merge inputsJay Berkenbilt
2018-06-22Add progress reporting for QPDFWriter (fixes #200)Jay Berkenbilt
2018-06-22Add method to get count of objects in QPDFJay Berkenbilt
2018-06-22Use ClosedFileInputSource when merging files (fixes #154)Jay Berkenbilt
2018-06-22Add ClosedFileInputSourceJay Berkenbilt
ClosedFileInputSource is an input source that keeps the file closed when not reading it.