diff options
Diffstat (limited to 'qpdf/test_driver.cc')
-rw-r--r-- | qpdf/test_driver.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 9f4f18fe..c167b643 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -1584,6 +1584,34 @@ void runtest(int n, char const* filename1, char const* arg2) } } } + else if (n == 44) + { + // Set form fields. + QPDFAcroFormDocumentHelper afdh(pdf); + std::vector<QPDFFormFieldObjectHelper> fields = afdh.getFormFields(); + for (std::vector<QPDFFormFieldObjectHelper>::iterator iter = + fields.begin(); + iter != fields.end(); ++iter) + { + QPDFFormFieldObjectHelper& field(*iter); + QPDFObjectHandle ft = field.getInheritableFieldValue("/FT"); + if (ft.isName() && (ft.getName() == "/Tx")) + { + // \xc3\xb7 is utf-8 for U+00F7 (divided by) + field.setV("3.14 \xc3\xb7 0"); + std::cout << "Set field value: " + << field.getFullyQualifiedName() + << " -> " + << field.getValueAsString() + << std::endl; + } + } + QPDFWriter w(pdf, "a.pdf"); + w.setQDFMode(true); + w.setStaticID(true); + w.setSuppressOriginalObjectIDs(true); + w.write(); + } else { throw std::runtime_error(std::string("invalid test ") + |