2
1
mirror of https://github.com/qpdf/qpdf.git synced 2025-01-22 22:58:33 +00:00

TODO: notes about document-level work

This commit is contained in:
Jay Berkenbilt 2021-02-23 08:27:26 -05:00
parent 9e00be7ffa
commit 1e4c1be267

36
TODO
View File

@ -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
===========