Mention appearances in pdf-set-form-values example

This commit is contained in:
Jay Berkenbilt 2020-02-22 12:10:13 -05:00
parent bb3137296d
commit ea58680eb0
3 changed files with 17 additions and 13 deletions

View File

@ -1,5 +1,9 @@
2020-02-22 Jay Berkenbilt <ejb@ql.org>
* 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.

View File

@ -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);
}
}
}