Path to this page:
./
print/qpdf,
Structural, content-preserving transformations on PDF files
Branch: CURRENT,
Version: 11.10.1,
Package name: qpdf-11.10.1,
Maintainer: pkgsrc-usersQPDF is a command-line program that does structural, content-preserving
transformations on PDF files. It could have been called something like
pdf-to-pdf. It also provides many useful capabilities to developers of
PDF-producing software or for people who just want to look at the innards of a
PDF file to learn more about how they work.
QPDF is capable of creating linearized (also known as web-optimized) files and
encrypted files. It is also capable of converting PDF files with object streams
(also known as compressed objects) to files with no compressed objects or to
generate object streams from files that don't have them (or even those that
already do). QPDF also supports a special mode designed to allow you to edit the
content of PDF files in a text editor. For more details, please see the
documentation links below.
QPDF includes support for merging and splitting PDFs through the ability to copy
objects from one PDF file into another and to manipulate the list of pages in a
PDF file. The QPDF library also makes it possible for you to create PDF files
from scratch. In this mode, you are responsible for supplying all the contents
of the file, while the QPDF library takes care off all the syntactical
representation of the objects, creation of cross references tables and, if you
use them, object streams, encryption, linearization and other syntactic details.
Required to run:[
graphics/jpeg] [
devel/pcre]
Master sites:
Filesize: 19040.357 KB
Version history: (Expand)
- (2025-02-27) Updated to version: qpdf-11.10.1
- (2024-06-11) Updated to version: qpdf-11.9.1
- (2024-03-11) Updated to version: qpdf-11.9.0
- (2024-01-06) Updated to version: qpdf-11.7.0
- (2023-12-01) Updated to version: qpdf-11.6.3
- (2023-10-25) Updated to version: qpdf-11.6.1nb1
CVS history: (Expand)
2025-02-26 17:32:39 by Ryo ONODERA | Files touched by this commit (3) |
Log message:
print/qpdf: Update to 11.10.1
Changelog:
11.10.1: February 15, 2025
+ Build fixes
o Fix incorrect detection of zopfli
o Recognize cygwin perl as Windows when running test suite
11.10.0: February 8, 2025
+ Bug fixes
o Detect and break loops in the outline (bookmark) tree.
o Correctly handle outline (bookmark) items where the destination is
given as a dictionary with ??/D?? entry.
o When loading object streams, ignore any objects not included in the
xref table. The PDF specification requires any object that is not
present in the xref table to be treated as the null object.
o When writing real numbers as JSON ensure they do not end in a
trailing decimal point. Numbers with trailing ??.?? are valid PDF
format but are not valid in JSON.
o When QPDF::getObject, getObjectByObjGen or getObjectByID are called
with a QPDFObjGen that does not exists in the xref and object
tables return a direct null. Previously the methods inserted an
indirect reference to the null object in the object table,
potentially hiding a valid object with the same object id.
o Fix handling of certain deleted objects in hybrid reference files.
Previously qpdf would incorrectly load a deleted object if it was
present in a cross-reference stream specified by the /XRefStm
entry.
o Default the stream decode level to generalized. Previously the
decode level incorrectly defaulted to none, affecting both the
--decode-level CLI option and the QPDFWriter::setDecodeLevel
method.
o Reject CLI flags with parameters. Previously the parameter was
simply ignored (e.g. --encrypt=n was treated as --encrypt).
+ CLI Enhancements
o The fix-qdf command now allows an output file to be specified as an
optional second argument. This is useful for environments in which
writing a binary file to standard output doesn??t work (such as
PowerShell 5).
o New --remove-metadata and --remove-info options to exclude document
metadata and information from the output PDF.
+ Library Enhancements
o qpdf can now be built with zopfli support. For details, see Zopfli
Compression Algorithm.
o Add QPDFObjectHandle operator bool. The operator returns true if
the object handle is initialized and is a replacement for the
isInitialized method. For more details see the qpdf wiki.
o New C API function qpdf_oh_free_buffer to free malloc allocated
buffers.
+ Other enhancements
o There has been some refactoring of the processing of xref tables
during the loading of PDF files, including the reconstruction of
xref tables of damaged files. As part of this additional
validations have been added. As a result, some damaged files will
produce errors during loading rather than during later processing
or writing. Repair of damaged files has been improved.
o As part of the additional validations during the loading of PDF
files, non-dictionary objects are now automatically removed from
pages tree.
o The handling of corrupt filtered streams has changed. If a
compressed stream cannot be successfully uncompressed, qpdf will
now write the raw (encoded) stream even if decode-level generalized
or specialized is set. The result of attempting to decode a corrupt
stream is generally unusable and can be extremely large.
|
2024-08-25 08:19:21 by Thomas Klausner | Files touched by this commit (575) |
Log message:
*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
|
2024-06-11 10:48:59 by Adam Ciarcinski | Files touched by this commit (4) |  |
Log message:
qpdf: updated to 11.9.1
qpdf 11.9.1
This is qpdf version 11.9.1. This is an accumulation of minor fixes and
performance enhancements since 11.9.0. No new functionality has been added.
|
2024-03-11 16:11:59 by Ryo ONODERA | Files touched by this commit (3) |
Log message:
qpdf: Update to 11.9.0
Changelog:
11.9.0:
This is qpdf version 11.9.0. This release includes some performance
optimizations and reliability enhancements to JSON support, an
enhanced command-line syntax for --pages in preparation for future
options, support for multiple overlay and underlay specifications,
and a few minor fixes and improvements to new features from qpdf
11.8.0.
11.8.0:
This is qpdf version 11.8.0. This release includes a few enhancements
and bug fixes related to page splitting and merging operations. It
is in preparation for more substantial changes in this area. This
includes more flexible collation, more flexible page range
specification, the ability to set page labels, and one bug fix
related to hyperlinks when flattening annotations.
|
2024-01-05 23:05:06 by Ryo ONODERA | Files touched by this commit (3) |
Log message:
qpdf: Update to 11.7.0
Changelog:
11.7.0: December 24, 2023
o Bug fixes:
# With --compress-streams=n, qpdf was still compressing cross
reference streams, linearization hint streams, and object streams.
This has been fixed.
# Fix to QPDF JSON: the syntax "n:/pdf-syntax" is now \
accepted as an
alternative way to represent names. This can be used for any name
(e.g. "n:/text#2fplain"), but it is necessary when the name
contains binary characters. For example, /one#a0two must be
represented as "n:/one#a0two" since the single byte a0 is \
not valid
in JSON.
# QPDF JSON will convert floating numbers that appear in the JSON in
scientific notation to fixed-point notation since PDF doesn??t
accept scientific notation.
# When setting a check box value, allow any value other than /Off to
mean checked. This is permitted by the spec. Previously, any value
other than /Yes or /Off was rejected.
o CLI Enhancements:
# Allow the syntax --encrypt --user-password=user-password
--owner-password=owner-password --bits={40,128,256} when encrypting
PDF files. This is an alternative to the syntax --encrypt
user-password owner-password {40,128,256}, which will continue to
be supported. The new syntax works better with shell completion and
allows creation of passwords that start with -.
# --remove-restrictions flag now also disables digital signatures in
the file.
o Build Enhancements:
# The qpdf test suite now passes when qpdf is linked with an
alternative zlib implementation. There are no dependencies anywhere
in the qpdf test suite on any particular zlib output. Consult the
ZLIB COMPATIBILITY section of README-maintainer.md for a detailed
explanation of how to maintain this.
# The official Windows installers now offers to modify PATH when
installing qpdf.
o Package Enhancements:
# A UNIX man page is now automatically generated from the
documentation. It contains the same text as qpdf --help=all.
o Library Enhancements:
# Add C++ functions qpdf_c_wrap and qpdf_c_get_qpdf to the C API to
enable custom C++ code to interoperate more easily with the the C
API. See examples/extend-c-api.
# Add methods to Buffer to work more easily and efficiently with
std::string.
# Add QPDFAcroFormDocumentHelper::disableDigitalSignatures, which
disables any digital signature fields, leaving their visual
representations intact.
11.6.4: December 10, 2023
o Bug fixes:
# When running cmake --install --component dev, install cmake files,
which were previously omitted from the dev component
# Fix the Linux binary build to use older libraries so it continues
to work in AWS Lambda and other older execution environments.
|
2023-12-01 18:24:09 by Ryo ONODERA | Files touched by this commit (3) |
Log message:
qpdf: Update to 11.6.3
Changelog:
11.6.3: October 15, 2023
Bug fixes:
Fix a bug in which qpdf could potentially discard a character in a \
binary string if that character was preceded by an octal escaped string with \
fewer than three digits. This bug was introduced in the 11.0.0 release. The bug \
would not apply to content streams with default settings.
The linearization specification precludes linearized files that \
require offets past the 4 GB mark. A bug in qpdf was preventing it from working \
when offsets had to pass the 2 GB mark. This has been corrected.
11.6.2: October 7, 2023
Bug fixes:
Fix a very old bug that could cause qpdf to call an internal finish \
function twice on certain stream decoding errors. With certain incorrect input \
files, this could cause qpdf to call gnutls or openssl 1 in a way that could \
cause them to crash.
Development changes:
Control some .idea files for JetBrains CLion. We will be iterating \
on making it easier to work with qpdf in CLion in coming releases.
|
2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298) |
Log message:
*: bump for openssl 3
|
2023-09-28 23:39:51 by Joerg Sonnenberger | Files touched by this commit (3) |
Log message:
qpdf-11.6.1:
- bugfixes
- improvements for bash/zsh auto completion
- improved cross-compilation
|