diff --git a/ChangeLog b/ChangeLog index 3d492e78..18328ca0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2020-02-22 Jay Berkenbilt + * Update pdf-set-form-values.cc to use and mention + generateAppearance, which hadn't been added when the example was + originally created. + * Detect, warn, and correct the case of /Pages in the document catalog incorrectly pointing to a page or intermediate node instead of the root of the pages tree. Fixes #398. diff --git a/examples/pdf-set-form-values.cc b/examples/pdf-set-form-values.cc index b0a4f2ad..becbedf3 100644 --- a/examples/pdf-set-form-values.cc +++ b/examples/pdf-set-form-values.cc @@ -73,23 +73,23 @@ int main(int argc, char* argv[]) annot_iter != annotations.end(); ++annot_iter) { // For each annotation, find its associated field. If - // it's a text field, set its value. This will - // automatically update the document to indicate that - // appearance streams need to be regenerated. At the - // time of this writing, qpdf doesn't have any helper - // code to assist with appearance stream generation, - // though there's nothing that prevents it from being - // possible. + // it's a text field, set its value. QPDFFormFieldObjectHelper ffh = afdh.getFieldForAnnotation(*annot_iter); if (ffh.getFieldType() == "/Tx") { - // Set the value. This will automatically set - // /NeedAppearances to true. If you don't want to - // do that, pass false as the second argument. For - // details see comments in - // QPDFFormFieldObjectHelper.hh. - ffh.setV(value); + // Set the value. Passing false as the second + // value prevents qpdf from setting + // /NeedAppearances to true (but will not turn it + // off if it's already on), so we call + // generateAppearance after setting the value. You + // may or may not want to do this depending on + // whether the appearance streams generated by + // qpdf are good enough for your purposes. For + // additional details, please see comments in + // QPDFFormFieldObjectHelper.hh for this method. + ffh.setV(value, false); + ffh.generateAppearance(*annot_iter); } } } diff --git a/examples/qtest/set-form-values/form-out.pdf b/examples/qtest/set-form-values/form-out.pdf index 011cb05b..e40027c5 100644 Binary files a/examples/qtest/set-form-values/form-out.pdf and b/examples/qtest/set-form-values/form-out.pdf differ