aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2018-01-31 15:47:58 +0100
committerJay Berkenbilt <ejb@ql.org>2018-02-19 03:05:46 +0100
commitb8723e97f4b94fe03e631aab0309382ead3137ed (patch)
treeed34a48b466196a376547eb27c7ff400fc7e7820 /ChangeLog
parent25988e8d108ac036329c2a5e8b628d9ac4920d0a (diff)
downloadqpdf-b8723e97f4b94fe03e631aab0309382ead3137ed.tar.zst
Add coalesce contents capability
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog29
1 files changed, 29 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 39a7cbf7..256d83ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -78,6 +78,35 @@
production use. Even if it did, it would be very unusual for a PDF
file to actually be adversely affected by this issue.
+ * Add support for coalescing a page's contents into a single
+ stream if they are represented as an array of streams. This can be
+ performed from the command line using the --coalesce-contents
+ option. Coalescing content streams can simplify things for
+ software that wants to operate on a page's content streams without
+ having to handle weird edge cases like content streams split in
+ the middle of tokens. Note that
+ QPDFObjectHandle::parsePageContents and
+ QPDFObjectHandle::parseContentStream already handled split content
+ streams. This is mainly to set the stage for new methods of
+ operating on page contents. The new method
+ QPDFObjectHandle::pipeContentStreams will pipe all of a page's
+ content streams though a single pipeline. The new method
+ QPDFObjectHandle.coalesceContentStreams, when called on a page
+ object, will do nothing if the page's contents are a single
+ stream, but if they are an array of streams, it will replace the
+ page's contents with a single stream whose contents are the
+ concatenation of the original streams.
+
+ * A few library routines throw exceptions if called on non-page
+ objects. These constraints have been relaxed somewhat to make qpdf
+ more tolerant of files whose page dictionaries are not properly
+ marked as such. Mostly exceptions about page operations being
+ called on non page objects will only be thrown in cases where the
+ operation had no chance of succeeding anyway. This change has no
+ impact on any default mode operations, but it could allow
+ applications that use page-level APIs in QPDFObjectHandle to be
+ more tolerant of certain types of damaged files.
+
2018-02-04 Jay Berkenbilt <ejb@ql.org>
* Add QPDFWriter::setLinearizationPass1Filename method and