diff options
author | Jay Berkenbilt <ejb@ql.org> | 2020-12-30 22:45:50 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2020-12-30 22:45:50 +0100 |
commit | c97bd6323e7f8988b4ff24b913a37e683eeaacf6 (patch) | |
tree | 95e7dfacebd96121b2301d3934a0454c0a817dd9 /manual | |
parent | 4cbf32bfdb9b2fc45e80798745681572219e1c54 (diff) | |
download | qpdf-c97bd6323e7f8988b4ff24b913a37e683eeaacf6.tar.zst |
Add release notes for changes from 10.0.4 so far
Diffstat (limited to 'manual')
-rw-r--r-- | manual/qpdf-manual.xml | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml index 8caab104..0b7156b2 100644 --- a/manual/qpdf-manual.xml +++ b/manual/qpdf-manual.xml @@ -4819,6 +4819,128 @@ print "\n"; </varlistentry> --> <varlistentry> + <term>10.1.0: XXX Month dd, YYYY</term> + <listitem> + <itemizedlist> + <listitem> + <para> + CLI Enhancements + </para> + <itemizedlist> + <listitem> + <para> + Add <option>--flatten-rotation</option> command-line option, + which causes all pages that are rotated using parameters in + the page's dictionary to instead be identically rotated in + the page's contents. The change is not user-visible for + compliant PDF readers but can be used to work around broken + PDF applications that don't properly handle page rotation. + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + Library Enhancements + </para> + <itemizedlist> + <listitem> + <para> + Support for user-provided (pluggable, modular) stream + filters. It is now possible to derive a class from + <classname>QPDFStreamFilter</classname> and register it with + <classname>QPDF</classname> so that regular library methods, + including those used by <classname>QPDFWriter</classname>, + can decode streams with filters not directly supported by + the library. The example + <filename>examples/pdf-custom-filter.cc</filename> + illustrates how to use this capability. + </para> + </listitem> + <listitem> + <para> + Add the optional <function>allow_streams</function> + parameter <function>QPDFObjectHandle::makeDirect</function>. + When <function>QPDFObjectHandle::makeDirect</function> is + called in this way, it preserves references to streams + rather than throwing an exception. + </para> + </listitem> + <listitem> + <para> + Add <function>QPDFObjectHandle::setFilterOnWrite</function> + method. Calling this on a stream prevents + <function>QPDFWriter</function> from attempting to + uncompress, recompress, or otherwise filter a stream even if + it could. Developers can use this to protect streams that + are optimized should be protected from + <classname>QPDFWriter</classname>'s default behavior for any + other reason. + </para> + </listitem> + <listitem> + <para> + Add <classname>ostream</classname> + <literal><<</literal> operator for + <classname>QPDFObjGen</classname>. This is useful to have + for debugging. + </para> + </listitem> + <listitem> + <para> + Add method + <function>QPDFPageObjectHelper::flattenRotation</function>, + which replaces a page's <literal>/Rotate</literal> keyword + by rotating the page within the content stream and altering + the page's bounding boxes so the rendering is the same. This + can be used to work around buggy PDF readers that can't + properly handle page rotation. + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + C API Enhancements + </para> + <itemizedlist> + <listitem> + <para> + Add several new functions to the C API for working with + objects. These are wrappers around many of the methods in + <classname>QPDFObjectHandle</classname>. Their inclusion + adds considerable new capability to the C API. + </para> + </listitem> + <listitem> + <para> + Add <function>qpdf_register_progress_reporter</function> to + the C API, corresponding to + <function>QPDFWriter::registerProgressReporter</function>. + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + Performance Enhancements + </para> + <itemizedlist> + <listitem> + <para> + Improve steps <classname>QPDFWriter</classname> takes to + prepare a <classname>QPDF</classname> object for writing, + resulting in about an 8% improvement in write performance + while allowing indirect objects to appear in + <literal>/DecodeParms</literal>. + </para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> <term>10.0.4: November 21, 2020</term> <listitem> <itemizedlist> |