From 83216e640c489a22bd4001c9c39affb72b8b1124 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 22 Feb 2021 18:36:05 -0500 Subject: Preserve form fields when splitting pages (fixes #340) --- libqpdf/QPDFAcroFormDocumentHelper.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'libqpdf') diff --git a/libqpdf/QPDFAcroFormDocumentHelper.cc b/libqpdf/QPDFAcroFormDocumentHelper.cc index dce413bd..611d469a 100644 --- a/libqpdf/QPDFAcroFormDocumentHelper.cc +++ b/libqpdf/QPDFAcroFormDocumentHelper.cc @@ -676,10 +676,16 @@ QPDFAcroFormDocumentHelper::copyFieldsFromForeignPage( QPDFPageObjectHelper foreign_page, QPDFAcroFormDocumentHelper& foreign_afdh) { + std::set added; for (auto field: foreign_afdh.getFormFieldsForPage(foreign_page)) { auto new_field = this->qpdf.copyForeignObject( field.getObjectHandle()); - addFormField(new_field); + auto og = new_field.getObjGen(); + if (! added.count(og)) + { + addFormField(new_field); + added.insert(og); + } } } -- cgit v1.2.3-70-g09d2