Commit 2e2223ffe15d0f5b1d26e38c75df28c499fcc3e4

Authored by Jay Berkenbilt
1 parent 6048c6e2

TODO

Showing 1 changed file with 65 additions and 0 deletions
  1 +
  2 +Current
  3 +=======
  4 +
  5 + * open bugs
  6 +
  7 + * form features
  8 + * flatten
  9 + * include in json at document and page level
  10 + * values
  11 + * names
  12 + * other stuff?
  13 + * preserve when merging and splitting; functionality should be
  14 + similar to outlines.
  15 + * set value?
  16 + * maybe basic appearance generation for values within pdf doc
  17 + encoding that don't use subsetted fonts
  18 +
  19 + * replace mode: --replace-object, --replace-stream-raw,
  20 + --replace-stream-filtered
  21 + * update first paragraph of QPDF JSON in the manual to mention this
  22 + * object numbers are not stable
  23 + * you don't have to specify length for streams
  24 + * you only have to specify filtering for streams if providing raw data
  25 +
  26 + * special mode for compressing images with DCT
  27 + * allow specifying a single image, all images, images based on
  28 + size, specific images
  29 + * never replace an image if the replacement is not smaller than the
  30 + original
  31 +
  32 + * bookmarks (outlines) 12.3.3
  33 + * support bookmarks when merging
  34 + * prune bookmarks that don't point to a surviving page when merging
  35 + or splitting
  36 + * make sure conflicting named destinations work possibly test by
  37 + including the same file by two paths in a merge
  38 +
  39 + When pruning outlines, keep all outlines in the hierarchy that are
  40 + above an outline for a page we care about. If one of the ancestor
  41 + outlines points to a non-existent page, clear its dest. If an
  42 + outline does not have any children that point to pages in the
  43 + document, just omit it.
  44 +
  45 + Possible strategy:
  46 + * resolve all named destinations to explicit destinations
  47 + * concatenate top-level outlines
  48 + * prune outlines whose dests don't point to a valid page
  49 + * recompute all /Count fields
  50 +
  51 + Test files
  52 + * page-labels-and-outlines.pdf: old file with both page labels and
  53 + outlines. All destinations are explicit destinations. Each page
  54 + has Potato and a number. All titles are feline names.
  55 + * outlines-with-actions.pdf: mixture of explicit destinations,
  56 + named destinations, goto actions with explicit destinations, and
  57 + goto actions with named destinations; uses /Dests key in names
  58 + dictionary. Each page has Salad and a number. All titles are
  59 + silly words. One destination is an indirect object.
  60 + * outlines-with-old-root-dests.pdf: like outlines-with-actions
  61 + except it uses the PDF-1.1 /Dests dictionary for named
  62 + destinations, and each page has Soup and a number. Also pages are
  63 + numbered with upper-case Roman numerals starting with 0. All
  64 + titles are silly words preceded by a bullet.
  65 +
1 66 Soon
2 67 ====
3 68  
... ...