To all qpdf users:
I've uploaded a release candidate for what will soon be version 2.2.0 of
qpdf. The major change from 2.1.5 is the addition of new methods that
allow addition of new streams and replacing stream data. This makes new
applications possible, such as replacing images in PDF files, scaling
pages, or numerous other possibilities. True to the spirit of qpdf,
there is still no *knowledge* of the contents of streams, but now you can
write your own programs that can work with contents of streams in a PDF
file before writing out a new file with qpdf-writer. The following
methods have been added to QPDFObjectHandle:
newStream: allows a completely new stream, with data provided, to be
added to a PDF file
replaceStreamData: allows replacing a stream's original data with new
data
addPageContents: allows a new content stream to be added to the
beginning or end of a page's list of content streams. Automatically
converts /Contents from a stream to an array of streams if needed
replaceOrRemoveKey: a convenience routine that replaces a dictionary
key with the given value unless the value is a null object, in which
case it removes the key
In addition, there are two new example programs: pdf-double-page-size
and pdf-invert-images. These two programs illustrate how to use the new
methods. Both examples are inspired by specific things various qpdf
users have wanted to do.
Additionally, this version includes a fix to a small memory leak. The
final 2.2.0 version will also include information about how to build
qpdf with Microsoft Visual C++ version 6. I hope to do the final
release in a week or two.
--
Jay Berkenbilt <ej...@ql...>
|