From 1e4c1be267f579477457239ff2f8ef8e0be45248 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 23 Feb 2021 08:27:26 -0500 Subject: TODO: notes about document-level work --- TODO | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'TODO') diff --git a/TODO b/TODO index 1986cf4f..3e5ee7bc 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,39 @@ +Document-level work +=================== + +* See also issues tagged with "pages" + +* There is going to be a lot of duplicated code for doc-level stuff + between pages and split pages. That should be refactored. Perhaps + some kind of general method should be added to + QPDFPageDocumentHelper for copying a page from one file to another + and preserving document-level features. I will need to think about + how to make it efficient for bulk operations. Probably making it + work from qpdf.cc will be sufficient. I also need to think about how + to selectively turn on or off specific document-level features, + perhaps using flags or something. + +* Add flags to CLI to select which document-level options to + preserve or not preserve. We will probably need a pair of mutually + exclusive, repeatable options with a way to specify all, none, only + {x,y}, or all but {x,y}. + +* If a page contains a reference a file attachment annotation, when + that page is copied, if the file attachment appears in the top-level + EmbeddedFiles tree, that entry should be preserved in the + destination file. Otherwise, we probably will require the use of + --copy-attachments-from to preserve these. What will the strategy be + for deduplicating in the automatic case? + +* When I get to tagged PDF, note that the presence of /Artifact and + /Standard (and maybe others?) causes a false positive on detection + of unresolved names. Example: form-fields-and-annotations.pdf. This + used to give a warning (never in a released version), but the + warning was removed. See comments about tagged pdf in + QPDFPageObjectHelper::removeUnreferencedResourcesHelper. Another + potential solution is to recognize names that refer to fonts and + xobjects but only looking at names used with Tf and Do operators. + Fuzz Errors =========== -- cgit v1.2.3-54-g00ecf