Commit d9cb2658d1a78f33a933e012a00458517cc038c4

Authored by Jay Berkenbilt
1 parent addc0672

TODO: more notes on document-level work

Showing 1 changed file with 18 additions and 14 deletions
... ... @@ -4,24 +4,28 @@ Document-level work
4 4 * QPDFPageCopier -- object for moving pages around within files or
5 5 between files and performing various transformations
6 6  
7   - * handle all the stuff of pages and split-pages
8   - * do n-up, booklet, collation
9   - * look through cli and see what else...flatten-*?
  7 + * Handle all the stuff of pages and split-pages
  8 + * Do n-up, booklet, collation
  9 + * Look through cli and see what else...flatten-*?
10 10 * See comments in QPDFPageDocumentHelper.hh for addPage -- search
11   - for "a future version".
  11 + for "a future version".
  12 + * Make it efficient for bulk operations
  13 + * Make certain doc-level features selectable
  14 + * qpdf.cc should do all its page operations, including
  15 + overlay/underlay, splitting, and merging, using this
  16 + * There should also be example code
  17 +
  18 +* After doc-level checks are in, call --check on the output files in
  19 + the "Copy Annotations" tests.
  20 +
  21 +* Document-level checks. For example, for forms, make sure all form
  22 + fields point to an annotation on exactly one page as well as that
  23 + all widget annotations are associated with a form field. Hook this
  24 + into QPDFPageCopier as well as the doc helpers. Make sure it is
  25 + called from --check.
12 26  
13 27 * See also issues tagged with "pages"
14 28  
15   -* There is going to be a lot of duplicated code for doc-level stuff
16   - between pages and split pages. That should be refactored. Perhaps
17   - some kind of general method should be added to
18   - QPDFPageDocumentHelper for copying a page from one file to another
19   - and preserving document-level features. I will need to think about
20   - how to make it efficient for bulk operations. Probably making it
21   - work from qpdf.cc will be sufficient. I also need to think about how
22   - to selectively turn on or off specific document-level features,
23   - perhaps using flags or something.
24   -
25 29 * Add flags to CLI to select which document-level options to
26 30 preserve or not preserve. We will probably need a pair of mutually
27 31 exclusive, repeatable options with a way to specify all, none, only
... ...