From 1bd2a2e79b9a0dbd42e812f3e0b0d85e26e99ec4 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 22 Jun 2018 21:12:26 -0400 Subject: Prepare 8.1.0 release --- manual/qpdf-manual.xml | 187 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 185 insertions(+), 2 deletions(-) (limited to 'manual') diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml index 49e5b838..848c340b 100644 --- a/manual/qpdf-manual.xml +++ b/manual/qpdf-manual.xml @@ -5,8 +5,8 @@ - - + + ]> @@ -3239,6 +3239,189 @@ print "\n"; ChangeLog in the source distribution. + + 8.1.0: June 23, 2018 + + + + + Usability Improvements + + + + + When splitting files, qpdf detects fonts and images that the + document metadata claims are referenced from a page but are + not actually referenced and omits them from the output file. + This change can cause a significant reduction in the size of + split PDF files for files created by some software packages. + Prior versions of qpdf would believe the document metadata + and sometimes include all the images from all the other + pages even though the pages were no longer present. In the + unlikely event that the old behavior should be desired, it + can be enabled by specifying + . For + additional details, please see . + + + + + When merging multiple PDF files, qpdf no longer leaves all + the files open. This makes it possible to merge numbers of + files that may exceed the operating system's limit for the + maximum number of open files. + + + + + The option's syntax has been + extended to make the page range optional. If you specify + + without specifying a page range, the rotation will be + applied to all pages. This can be especially useful for + adjusting a PDF created from a multi-page document that + was scanned upside down. + + + + + When merging multiple files, the + option now prints information about each file as it operates + on that file. + + + + + When the option is specified, + qpdf will print a running indicator of its best guess at how + far through the writing process it is. Note that, as with + all progress meters, it's an approximation. This option is + implemented in a way that makes it useful for software that + uses the qpdf library; see API Enhancements below. + + + + + + + Bug Fixes + + + + + Properly decrypt files that use revision 3 of the standard + security handler but use 40 bit keys (even though revision 3 + supports 128-bit keys). + + + + + Limit depth of nested data structures to prevent crashes + from certain types of malformed (malicious) PDFs. + + + + + In “newline before endstream” mode, insert the + required extra newline before the + endstream at the end of object streams. + This one case was previously omitted. + + + + + + + API Enhancements + + + + + The first round of higher level “helper” + interfaces has been introduced. These are designed to + provide a more convenient way of interacting with certain + document features than using + QPDFObjectHandle directly. For + details on helpers, see . Specific additional + interfaces are described below. + + + + + Add two new document helper classes: + QPDFPageDocumentHelper for working + with pages, and + QPDFAcroFormDocumentHelper for + working with interactive forms. No old methods have been + removed, but QPDFPageDocumentHelper + is now the preferred way to perform operations on pages + rather than calling the old methods in + QPDFObjectHandle and + QPDF directly. Comments in the header + files direct you to the new interfaces. Please see the + header files and ChangeLog for + additional details. + + + + + Add three new object helper class: + QPDFPageObjectHelper for pages, + QPDFFormFieldObjectHelper for + interactive form fields, and + QPDFAnnotationObjectHelper for + annotations. All three classes are fairly sparse at the + moment, but they have some useful, basic functionality. + + + + + A new example program + examples/pdf-set-form-values.cc has + been added that illustrates use of the new document and + object helpers. + + + + + The method + QPDFWriter::registerProgressReporter + has been added. This method allows you to register a + function that is called by QPDFWriter + to update your idea of the percentage it thinks it is + through writing its output. Client programs can use this to + implement reasonably accurate progress meters. The + qpdf command line tool uses this to + implement its option. + + + + + New methods + QPDFObjectHandle::newUnicodeString and + QPDFObject::unparseBinary have been + added to allow for more convenient creation of strings that + are explicitly encoded using big-endian UTF-16. This is + useful for creating strings that appear outside of content + streams, such as labels, form fields, outlines, document + metadata, etc. + + + + + A new class + QPDFObjectHandle::Rectangle has been + added to ease working with PDF rectangles, which are just + arrays of four numeric values. + + + + + + + 8.0.2: March 6, 2018 -- cgit v1.2.3-54-g00ecf