pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/print/qpdf Update to 8.3.0

branches:  trunk
changeset: 317523:e41f7de635cb
user:      ryoon <>
date:      Tue Jan 08 16:29:33 2019 +0000

Update to 8.3.0

2019-01-07  Jay Berkenbilt  <>

        * 8.3.0: release

        * Add sample completion files in completions. These can be used by
        packagers to install on the system wherever bash and zsh keep
        their vendor-supplied completions.

        * Add configure flag --enable-check-autofiles, which is on by
        default. Packagers whose packaging systems automatically refresh
        autoconf or libtool files should pass --disable-check-autofiles to
        ./configure to suppress warnings about automatically generated
        files being outdated.

2019-01-06  Jay Berkenbilt  <>

        * Remove the restriction in most cases that the source QPDF used
        in a copyForeignObject call has to stick around until the
        destination QPDF is written. The exceptional case is when the
        source stream gets is data using a
        QPDFObjectHandle::StreamDataProvider. For a more in-depth
        discussion, see comments around copyForeignObject in QPDF.hh.
        Fixes #219.

2019-01-05  Jay Berkenbilt  <>

        * When generating appearances, if the font uses one of the
        standard, built-in encodings, restrict the character set to that
        rather than just to ASCII. This will allow most appearances to
        contain characters from the ISO-Latin-1 range plus a few
        additional characters.

        * Add methods QUtil::utf8_to_win_ansi and

        * Add method QUtil::utf8_to_utf16.

2019-01-04  Jay Berkenbilt  <>

        * Add new option --optimize-images, which recompresses every image
        using DCT (JPEG) compression as long as the image is not already
        compressed with lossy compression and recompressing the image
        reduces its size. The additional options --oi-min-width,
        --oi-min-height, and --oi-min-area prevent recompression of images
        whose width, height, or pixel area (width * height) are below a
        specified threshold.

        * Add new option --collate. When specified, the semantics of
        --pages change from concatenation to collation. See the manual for
        a more detailed discussion. Fixes #259.

        * Add new method QPDFWriter::getFinalVersion, which returns the
        PDF version that will ultimately be written to the final file. See
        comments in QPDFWriter.hh for some restrictions on its use. Fixes

        * When unexpected errors are found while checking linearization
        data, print an error message instead of calling assert, which
        cause the program to crash. Fixes #209, #231.

        * Detect and recover from dangling references. If a PDF file
        contained an indirect reference to a non-existent object (which is
        valid), when adding a new object to the file, it was possible for
        the new object to take the object ID of the dangling reference,
        thereby causing the dangling reference to point to the new object.
        This case is now prevented. Fixes #240.

2019-01-03  Jay Berkenbilt  <>

        * Add --generate-appearances flag to the qpdf command-line tool to
        trigger generation of appearance streams.

        * Fix behavior of form field value setting to handle the following
          - Strings are always written as UTF-16
          - Check boxes and radio buttons are handled properly with
            synchronization of values and appearance states

        * Define constants in qpdf/Constants.h for interpretation of
        annotation and form field flags

        * Add QPDFAnnotationObjectHelper::getFlags

        * Add many new methods to QPDFFormFieldObjectHelper for querying
        flags and field types

        * Add new methods for appearance stream generation. See comments
        in QPDFFormFieldObjectHelper.hh for generateAppearance() for a
        description of limitations.
          - QPDFAcroFormDocumentHelper::generateAppearancesIfNeeded
          - QPDFFormFieldObjectHelper::generateAppearance

        * Bug fix: when writing form field values, always write string
        values encoded as UTF-16.

        * Add method QUtil::utf8_to_ascii, which returns an ASCII string
        for a UTF-8 string, replacing out-of-range characters with a
        specified substitute.

2019-01-02  Jay Berkenbilt  <>

        * Add method QPDFObjectHandle::getResourceNames that returns a set
        of strings representing all second-level keys in a dictionary
        (i.e. all keys of all direct dictionary members).

2018-12-31  Jay Berkenbilt  <>

        * Add --flatten-annotations flag to the qpdf command-line tool for
        annotation flattening.

        * Add methods for flattening form fields and annotations:
          - QPDFPageDocumentHelper::flattenAnnotations - integrate
            annotation appearance streams into page contents with special
            handling for form fields: if appearance streams are up to date
            (/NeedAppearances is false in /AcroForm), the /AcroForm key of
            the document catalog is removed. Otherwise, a warning is
            issued, and form fields are ignored. Non-form-field
            annotations are always flattened if an appearance stream can
            be found.
          - QPDFAnnotationObjectHelper::getPageContentForAppearance -
            generate the content stream fragment to render an appearance
            stream in a page's content stream as a form xobject. Called by

        * Add method QPDFObjectHandle::mergeResources(), which merges
        resource dictionaries. See detailed description in

        * Add QPDFObjectHandle::Matrix, similar to
        QPDFObjectHandle::Rectangle, as a convenience class for
        six-element arrays that are used as matrices.

2018-12-23  Jay Berkenbilt  <>

        * When specifying @arg on the command line, if the file "arg" does
        not exist, just treat this is a normal argument. This makes it
        easier to deal with files whose names start with the @ character.
        Fixes #265.

        * Tweak completion so it works with zsh as well using

2018-12-22  Jay Berkenbilt  <>

        * Add new options --json, --json-key, and --json-object to
        generate a json representation of the PDF file. This is described
        in more depth in the manual. You can also run qpdf --json-help to
        get a description of the json format.

2018-12-21  Jay Berkenbilt  <>

        * Allow --show-object=trailer for showing the document trailer.

        * You can now use eval $(qpdf --completion-bash) to enable bash
        completion for qpdf. It's not perfect, but it works pretty well.

2018-12-19  Jay Berkenbilt  <>

        * When splitting pages using --split-pages, the outlines
        dictionary and some supporting metadata are copied into the split
        files. The result is that all bookmarks from the original file
        appear, and those that point to pages that are preserved work
        while those that point to pages that are not preserved don't do
        anything. This is an interim step toward proper support for
        bookmark preservation in split files.

        * Add QPDFOutlineDocumentHelper and QPDFOutlineObjectHelper for
        handling outlines (bookmarks) including bidirectionally mapping
        between bookmarks and pages. Initially there is no support for
        modifying the outlines hierarchy.

2018-12-18  Jay Berkenbilt  <>

        * New method QPDFObjectHandle::getJSON() returns a JSON object
        with a partial representation of the object. See
        QPDFObjectHandle.hh for a detailed description.

        * Add a simple JSON serializer. This is not a complete or
        general-purpose JSON library. It allows assembly and serialization
        of JSON structures with some restrictions, which are described in
        the header file.

        * Add QPDFNameTreeObjectHelper class. This class provides useful
        methods for dealing with name trees, which are discussed in
        section 7.9.6 of the PDF spec (ISO-32000).

        * Preserve page labels when merging and splitting files. Prior
        versions of qpdf simply preserved the page label information from
        the first file, which usually wouldn't make any sense in the
        merged file. Now any page that had a page number in any original
        file will have the same page number after merging or splitting.

        * Add QPDFPageLabelDocumentHelper class. This is a document helper
        class that provides useful methods for dealing with page labels.
        It abstracts the fact that they are stored as number trees and
        deals with interpolating intermediate values that are not in the
        tree. It also has helper functions used by the qpdf command line
        tool to preserve page labels when merging and splitting files.

        * Add QPDFNumberTreeObjectHelper class. This class provides useful
        methods for dealing with number trees, which are discussed in
        section 7.9.7 of the PDF spec (ISO-32000). Page label dictionaries
        are represented as number trees.

        * New method QPDFObjectHandle::wrapInArray returns the object
        itself if it is an array. Otherwise, it returns an array
        containing the object. This is useful for dealing with PDF data
        that is sometimes expressed as a single element and sometimes
        expressed as an array, which is a somewhat common PDF idiom.

2018-10-11  Jay Berkenbilt  <>

        * Files generated by are now committed so that it is
        possible to build on platforms without autoconf directly from a
        clean checkout of the repository. The configure script detects if
        the files are out of date when it also determines that the tools
        are present to regenerate them.

        * Add build in Azure Pipelines, now that it is free for open
        source projects.


 print/qpdf/Makefile      |   4 ++--
 print/qpdf/PLIST         |   8 +++++++-
 print/qpdf/ |   4 ++--
 print/qpdf/distinfo      |  10 +++++-----
 4 files changed, 16 insertions(+), 10 deletions(-)

diffs (80 lines):

diff -r 62292614892f -r e41f7de635cb print/qpdf/Makefile
--- a/print/qpdf/Makefile       Tue Jan 08 16:27:53 2019 +0000
+++ b/print/qpdf/Makefile       Tue Jan 08 16:29:33 2019 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.23 2018/11/07 12:59:44 ryoon Exp $
+# $NetBSD: Makefile,v 1.24 2019/01/08 16:29:33 ryoon Exp $
-DISTNAME=      qpdf-8.2.1
+DISTNAME=      qpdf-8.3.0
 CATEGORIES=    print
diff -r 62292614892f -r e41f7de635cb print/qpdf/PLIST
--- a/print/qpdf/PLIST  Tue Jan 08 16:27:53 2019 +0000
+++ b/print/qpdf/PLIST  Tue Jan 08 16:29:33 2019 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.7 2018/11/07 12:59:44 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.8 2019/01/08 16:29:33 ryoon Exp $
@@ -9,6 +9,7 @@
@@ -26,11 +27,16 @@
diff -r 62292614892f -r e41f7de635cb print/qpdf/
--- a/print/qpdf/  Tue Jan 08 16:27:53 2019 +0000
+++ b/print/qpdf/  Tue Jan 08 16:29:33 2019 +0000
@@ -1,11 +1,11 @@
-# $NetBSD:,v 1.3 2018/07/15 23:37:37 ryoon Exp $
+# $NetBSD:,v 1.4 2019/01/08 16:29:33 ryoon Exp $
 BUILDLINK_TREE+=       qpdf
 .if !defined(QPDF_BUILDLINK3_MK)
-BUILDLINK_API_DEPENDS.qpdf+=   qpdf>=8.1.0
+BUILDLINK_API_DEPENDS.qpdf+=   qpdf>=8.3.0
 BUILDLINK_PKGSRCDIR.qpdf?=     ../../print/qpdf
diff -r 62292614892f -r e41f7de635cb print/qpdf/distinfo
--- a/print/qpdf/distinfo       Tue Jan 08 16:27:53 2019 +0000
+++ b/print/qpdf/distinfo       Tue Jan 08 16:29:33 2019 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.19 2018/11/07 12:59:44 ryoon Exp $
+$NetBSD: distinfo,v 1.20 2019/01/08 16:29:33 ryoon Exp $
-SHA1 (qpdf-8.2.1.tar.gz) = 54d9597eaa739d9da5c9e2afab439f1704eb6560
-RMD160 (qpdf-8.2.1.tar.gz) = 9b6fc1f463e04c7d3b355273088f83434abaa0da
-SHA512 (qpdf-8.2.1.tar.gz) = ef3aeb4a7ca3ec48ab62341533eedcb2a6d0985767317ab72c22f0c0ecfef6849bfdc34b1bcec6427c7bde166143adb409c895ff40d8be6628e6323e27697a8c
-Size (qpdf-8.2.1.tar.gz) = 8256216 bytes
+SHA1 (qpdf-8.3.0.tar.gz) = 34860254880bcde07d188cf57ccd01d0092ff963
+RMD160 (qpdf-8.3.0.tar.gz) = 0c689db3428bd52f0d24ce0b866b39d7b786508f
+SHA512 (qpdf-8.3.0.tar.gz) = 9982a489cc6b9c880adc7decb18f1941930a86f430a00505f230364fbadf83c5afd832a1ccf7966a9453cdbb40b7c60db438f7b27d836a242eefb07a77d7284d
+Size (qpdf-8.3.0.tar.gz) = 8915504 bytes
 SHA1 ( = f592899487bb958a01931afbe4ddf3c749ea103e
 SHA1 ( = 8622d6a446da284269102dde38bf14271363dfdc

Home | Main Index | Thread Index | Old Index