From 9fb174b9e9ff3d715091d435942de1e2d9db72ef Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Thu, 4 Mar 2021 14:46:07 -0500 Subject: Major rework of handling form fields when copying pages (fixes #509) --- manual/qpdf-manual.xml | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'manual/qpdf-manual.xml') diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml index 703ba7a4..d6098563 100644 --- a/manual/qpdf-manual.xml +++ b/manual/qpdf-manual.xml @@ -5069,6 +5069,21 @@ print "\n"; Bug Fixes + + + The code for handling form fields when copying pages from + 10.2.0 was not quite right and didn't work in a number of + situations, such as when the same page was copied multiple + times or when there were conflicting resource or field names + across multiple copies. The 10.3.0 code has been much more + thoroughly tested with more complex cases and with a + multitude of readers and should be much closer to correct. + The 10.2.0 code worked well enough for page splitting or for + copying pages with form fields into documents that didn't + already have them but was still not quite correct in + handling of field-level resources. + + When QPDF::replaceObject or @@ -5093,6 +5108,41 @@ print "\n"; + + + Library Enhancements + + + + + Reworked the code that handles copying annotations and form + fields during page operations. There were additional methods + added to the public API from 10.2.0 and a one deprecation of + a method added in 10.2.0. The majority of the API changes + are in methods most people would never call and that will + hopefully be superseded by higher-level interfaces for + handling page copies. Please see the + ChangeLog file for details. + + + + + The virtual method + QPDFObjectHandle::ParserCallbacks::handleWarning + is now called whenever a warning is encountered while + parsing a content stream. Prior to this, the caller had no + way to know if this had happened. + + + + + The method QPDF::numWarnings was added + so that you can tell whether any warnings happened during a + specific block of code. + + + + -- cgit v1.2.3-54-g00ecf