Commit ea58680eb07d1551d1f179532a3880e2d89f6c69
1 parent
bb313729
Mention appearances in pdf-set-form-values example
Showing
3 changed files
with
17 additions
and
13 deletions
ChangeLog
| 1 | 2020-02-22 Jay Berkenbilt <ejb@ql.org> | 1 | 2020-02-22 Jay Berkenbilt <ejb@ql.org> |
| 2 | 2 | ||
| 3 | + * Update pdf-set-form-values.cc to use and mention | ||
| 4 | + generateAppearance, which hadn't been added when the example was | ||
| 5 | + originally created. | ||
| 6 | + | ||
| 3 | * Detect, warn, and correct the case of /Pages in the document | 7 | * Detect, warn, and correct the case of /Pages in the document |
| 4 | catalog incorrectly pointing to a page or intermediate node | 8 | catalog incorrectly pointing to a page or intermediate node |
| 5 | instead of the root of the pages tree. Fixes #398. | 9 | instead of the root of the pages tree. Fixes #398. |
examples/pdf-set-form-values.cc
| @@ -73,23 +73,23 @@ int main(int argc, char* argv[]) | @@ -73,23 +73,23 @@ int main(int argc, char* argv[]) | ||
| 73 | annot_iter != annotations.end(); ++annot_iter) | 73 | annot_iter != annotations.end(); ++annot_iter) |
| 74 | { | 74 | { |
| 75 | // For each annotation, find its associated field. If | 75 | // For each annotation, find its associated field. If |
| 76 | - // it's a text field, set its value. This will | ||
| 77 | - // automatically update the document to indicate that | ||
| 78 | - // appearance streams need to be regenerated. At the | ||
| 79 | - // time of this writing, qpdf doesn't have any helper | ||
| 80 | - // code to assist with appearance stream generation, | ||
| 81 | - // though there's nothing that prevents it from being | ||
| 82 | - // possible. | 76 | + // it's a text field, set its value. |
| 83 | QPDFFormFieldObjectHelper ffh = | 77 | QPDFFormFieldObjectHelper ffh = |
| 84 | afdh.getFieldForAnnotation(*annot_iter); | 78 | afdh.getFieldForAnnotation(*annot_iter); |
| 85 | if (ffh.getFieldType() == "/Tx") | 79 | if (ffh.getFieldType() == "/Tx") |
| 86 | { | 80 | { |
| 87 | - // Set the value. This will automatically set | ||
| 88 | - // /NeedAppearances to true. If you don't want to | ||
| 89 | - // do that, pass false as the second argument. For | ||
| 90 | - // details see comments in | ||
| 91 | - // QPDFFormFieldObjectHelper.hh. | ||
| 92 | - ffh.setV(value); | 81 | + // Set the value. Passing false as the second |
| 82 | + // value prevents qpdf from setting | ||
| 83 | + // /NeedAppearances to true (but will not turn it | ||
| 84 | + // off if it's already on), so we call | ||
| 85 | + // generateAppearance after setting the value. You | ||
| 86 | + // may or may not want to do this depending on | ||
| 87 | + // whether the appearance streams generated by | ||
| 88 | + // qpdf are good enough for your purposes. For | ||
| 89 | + // additional details, please see comments in | ||
| 90 | + // QPDFFormFieldObjectHelper.hh for this method. | ||
| 91 | + ffh.setV(value, false); | ||
| 92 | + ffh.generateAppearance(*annot_iter); | ||
| 93 | } | 93 | } |
| 94 | } | 94 | } |
| 95 | } | 95 | } |
examples/qtest/set-form-values/form-out.pdf
No preview for this file type