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,24 +4,28 @@ Document-level work
4 * QPDFPageCopier -- object for moving pages around within files or 4 * QPDFPageCopier -- object for moving pages around within files or
5 between files and performing various transformations 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 * See comments in QPDFPageDocumentHelper.hh for addPage -- search 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 * See also issues tagged with "pages" 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 * Add flags to CLI to select which document-level options to 29 * Add flags to CLI to select which document-level options to
26 preserve or not preserve. We will probably need a pair of mutually 30 preserve or not preserve. We will probably need a pair of mutually
27 exclusive, repeatable options with a way to specify all, none, only 31 exclusive, repeatable options with a way to specify all, none, only