Commit 9d7eef7cc601104cf99fe48fd6789ae94f526cda

Authored by Jay Berkenbilt
1 parent 2e8a3e16

Update TODO

Remove form flattening
Clarify splitting/merging with document level constructs
Showing 1 changed file with 36 additions and 8 deletions
... ... @@ -54,6 +54,16 @@ Lexical
54 54 manner that takes advantage of the other lexical features. This
55 55 sanitizer should also clear metadata and replace images.
56 56  
  57 +Page splitting/merging
  58 +======================
  59 +
  60 + * Update page splitting and merging to handle document-level
  61 + constructs with page impact such as interactive forms and article
  62 + threading. Check keys in the document catalog for others, such as
  63 + outlines, page labels, thumbnails, and zones. For threads,
  64 + Subramanyam provided a test file; see ../misc/article-threads.pdf.
  65 + Email Q-Count: 431864 from 2009-11-03.
  66 +
57 67 General
58 68 =======
59 69  
... ... @@ -77,8 +87,32 @@ I find it useful to make reference to them in this list
77 87 filtering doesn't ever try to do this. QPDFWriter should be checked
78 88 carefully too. See also bugs/private/from-email-663916/
79 89  
80   - * Form flattening: ~/tmp/qtmp/form-flattening-email/. Distill this
81   - into notes along with stuff in qpdf email box.
  90 + * Interactive form modification:
  91 + https://github.com/qpdf/qpdf/issues/213 contains a good discussion
  92 + of some ideas for adding methods to modify annotations and form
  93 + fields if we want to make it easier to support modifications to
  94 + interactive forms. Some of the ideas have been implemented, and
  95 + some of the probably never will be implemented, but it's worth a
  96 + read if there is an intention to work on this. In the issue, search
  97 + for "Regarding write functionality", and read that comment and the
  98 + responses to it.
  99 +
  100 + * Form flattening: there is on-going work on this topic. The primary
  101 + tracking issue is https://github.com/qpdf/qpdf/issues/72, and there
  102 + has also been discussion in private email threads. My notes are
  103 + summarized in ../misc/form-flattening/README (not publicly
  104 + accessible), but all important information is in issues in github.
  105 + The non-public items in my notes are transcripts of discussions
  106 + with a google summer of code student who was working on the issue.
  107 + These notes likely have low value at this point, but I have saved
  108 + them to review in case form flattening ever moves into the qpdf
  109 + library from external tools where it is currently being
  110 + implemented. Note that flattening forms with appearance streams is
  111 + relatively straightforward, but many PDF files don't have
  112 + appearance streams and leave rendering of the form fields to the
  113 + viewer. Handling this in the general case is probably out of scope
  114 + for what will be in qpdf in the foreseeable future, particularly in
  115 + the area of embedding and subsetting fonts.
82 116  
83 117 * Look at ~/Q/pdf-collection/forms-from-appian/
84 118  
... ... @@ -160,12 +194,6 @@ I find it useful to make reference to them in this list
160 194 Consider implementing full Unicode password algorithms from newer
161 195 encryption formats.
162 196  
163   - * Consider impact of article threads on page splitting/merging.
164   - Subramanyam provided a test file; see ../misc/article-threads.pdf.
165   - Email Q-Count: 431864 from 2009-11-03. Other things to consider:
166   - outlines, page labels, thumbnails, zones. There are probably
167   - others.
168   -
169 197 * See if we can avoid preserving unreferenced objects in object
170 198 streams even when preserving the object streams.
171 199  
... ...