aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2018-06-21 21:57:22 +0200
committerJay Berkenbilt <ejb@ql.org>2018-06-21 22:04:54 +0200
commit9d7eef7cc601104cf99fe48fd6789ae94f526cda (patch)
treed79bf09e02e98733e725e5dadf73ecfdec19ec62 /TODO
parent2e8a3e163f50da1bb69d740a8955ce8915e32181 (diff)
downloadqpdf-9d7eef7cc601104cf99fe48fd6789ae94f526cda.tar.zst
Update TODO
Remove form flattening Clarify splitting/merging with document level constructs
Diffstat (limited to 'TODO')
-rw-r--r--TODO44
1 files changed, 36 insertions, 8 deletions
diff --git a/TODO b/TODO
index d006c9e2..7d44356b 100644
--- a/TODO
+++ b/TODO
@@ -54,6 +54,16 @@ Lexical
manner that takes advantage of the other lexical features. This
sanitizer should also clear metadata and replace images.
+Page splitting/merging
+======================
+
+ * Update page splitting and merging to handle document-level
+ constructs with page impact such as interactive forms and article
+ threading. Check keys in the document catalog for others, such as
+ outlines, page labels, thumbnails, and zones. For threads,
+ Subramanyam provided a test file; see ../misc/article-threads.pdf.
+ Email Q-Count: 431864 from 2009-11-03.
+
General
=======
@@ -77,8 +87,32 @@ I find it useful to make reference to them in this list
filtering doesn't ever try to do this. QPDFWriter should be checked
carefully too. See also bugs/private/from-email-663916/
- * Form flattening: ~/tmp/qtmp/form-flattening-email/. Distill this
- into notes along with stuff in qpdf email box.
+ * Interactive form modification:
+ https://github.com/qpdf/qpdf/issues/213 contains a good discussion
+ of some ideas for adding methods to modify annotations and form
+ fields if we want to make it easier to support modifications to
+ interactive forms. Some of the ideas have been implemented, and
+ some of the probably never will be implemented, but it's worth a
+ read if there is an intention to work on this. In the issue, search
+ for "Regarding write functionality", and read that comment and the
+ responses to it.
+
+ * Form flattening: there is on-going work on this topic. The primary
+ tracking issue is https://github.com/qpdf/qpdf/issues/72, and there
+ has also been discussion in private email threads. My notes are
+ summarized in ../misc/form-flattening/README (not publicly
+ accessible), but all important information is in issues in github.
+ The non-public items in my notes are transcripts of discussions
+ with a google summer of code student who was working on the issue.
+ These notes likely have low value at this point, but I have saved
+ them to review in case form flattening ever moves into the qpdf
+ library from external tools where it is currently being
+ implemented. Note that flattening forms with appearance streams is
+ relatively straightforward, but many PDF files don't have
+ appearance streams and leave rendering of the form fields to the
+ viewer. Handling this in the general case is probably out of scope
+ for what will be in qpdf in the foreseeable future, particularly in
+ the area of embedding and subsetting fonts.
* Look at ~/Q/pdf-collection/forms-from-appian/
@@ -160,12 +194,6 @@ I find it useful to make reference to them in this list
Consider implementing full Unicode password algorithms from newer
encryption formats.
- * Consider impact of article threads on page splitting/merging.
- Subramanyam provided a test file; see ../misc/article-threads.pdf.
- Email Q-Count: 431864 from 2009-11-03. Other things to consider:
- outlines, page labels, thumbnails, zones. There are probably
- others.
-
* See if we can avoid preserving unreferenced objects in object
streams even when preserving the object streams.