Commit 7f4d238c534003e33c911c986ea063601e1162ec

Authored by Jay Berkenbilt
1 parent ee437705

TODO

Showing 1 changed file with 5 additions and 85 deletions
1   -
2   -Current
3   -=======
4   -
5   - * open bugs
6   - * Important but non-trivial
7   - #240 -- invalid indirect references
8   - #209, #231 -- assert in linearization checks
9   - * Security
10   - #263 -- segv
11   - * Performance
12   - #243 -- very slow processing of something
13   - * Easy
14   - #266 -- get final PDF version from QPDFWriter
15   - #259 -- page collation
16   -
17   - * Generate appearance streams. QPDFAcroFormDocumentHelper.hh:
18   -
19   - // If /NeedAppearances is true, generate appearance streams for
20   - // all widget annotations. Note that qpdf's abilitiy to generate
21   - // appearance streams is quite limited. We can only generate
22   - // appearance streams for streams of type variable text, and even
23   - // then, the appearance stream just uses the default parameters
24   - // specified to substitute the form field's value into the
25   - // provided appearance stream. This means that appearance streams
26   - // will likely not look right for any form field values that
27   - // contain characters outside the range of PDF Doc Encoding. Also,
28   - // quadding is ignored.
29   - QPDF_DLL
30   - void generateAppearancesIfNeeded();
31   -
32   - See need-appearances.pdf, which is based on form-field-types.pdf
33   - and can be modified as needed. Search for it in qpdf.test
34   -
35   - Close #72 when done.
36   -
37   - * form field inclusion in json at document and page level
38   - * values
39   - * names
40   - * other stuff?
41   -
42   - * special mode for compressing images with DCT
43   - * allow specifying a minimum width, height, or pixel area with
44   - sensible defaults
45   - * never replace an image if the replacement is not smaller than the
46   - original
47   -
48 1 Soon
49 2 ====
50 3  
  4 + * Set up OSS-Fuzz (Google). See starred email in qpdf label.
  5 +
  6 + * Issue #219, not requiring QPDF reference of copied object to be
  7 + kept around. Comments are in the issue.
  8 +
51 9 * Figure out how to render Gajić correctly in the PDF version of the
52 10 qpdf manual.
53 11  
... ... @@ -178,8 +136,6 @@ I find it useful to make reference to them in this list
178 136  
179 137 * Pl_TIFFPredictor is pretty slow.
180 138  
181   - * Maybe disambiguate resources when flattening annotations
182   -
183 139 * Some test cases on bad fails fail because qpdf is unable to find
184 140 the root dictionary when it fails to read the trailer. Recovery
185 141 could find the root dictionary and even the info dictionary in
... ... @@ -205,40 +161,14 @@ I find it useful to make reference to them in this list
205 161 for "Regarding write functionality", and read that comment and the
206 162 responses to it.
207 163  
208   - * Form flattening: there is on-going work on this topic. The primary
209   - tracking issue is https://github.com/qpdf/qpdf/issues/72, and there
210   - has also been discussion in private email threads. My notes are
211   - summarized in ../misc/form-flattening/README (not publicly
212   - accessible), but all important information is in issues in github.
213   - The non-public items in my notes are transcripts of discussions
214   - with a google summer of code student who was working on the issue.
215   - These notes likely have low value at this point, but I have saved
216   - them to review in case form flattening ever moves into the qpdf
217   - library from external tools where it is currently being
218   - implemented. Note that flattening forms with appearance streams is
219   - relatively straightforward, but many PDF files don't have
220   - appearance streams and leave rendering of the form fields to the
221   - viewer. Handling this in the general case is probably out of scope
222   - for what will be in qpdf in the foreseeable future, particularly in
223   - the area of embedding and subsetting fonts.
224   -
225 164 * Look at ~/Q/pdf-collection/forms-from-appian/
226 165  
227   - * Look at Travis-CI for qpdf. See email from Travis-CI in pending.
228   -
229   - * https://github.com/qpdf/qpdf/pull/172 contains information about
230   - running through MacPorts's CI.
231   -
232 166 * Consider adding "uninstall" target to makefile. It should only
233 167 uninstall what it installed, which means that you must run
234 168 uninstall from the version you ran install with. It would only be
235 169 supported for the toolchains that support the install target
236 170 (libtool).
237 171  
238   - * Figure out how to find Visual Studio in Windows registry and see if
239   - I can get it to work with make so I can simplify creation of
240   - Windows releases.
241   -
242 172 * Provide support in QPDFWriter for writing incremental updates.
243 173 Provide support in qpdf for preserving incremental updates. The
244 174 goal should be that QDF mode should be fully functional for files
... ... @@ -278,8 +208,6 @@ I find it useful to make reference to them in this list
278 208 the number of identical calls could improve performance for
279 209 workloads that involve processing large numbers of small files.
280 210  
281   - * Consider providing a Windows installer for qpdf using NSIS.
282   -
283 211 * Consider adding a method to balance the pages tree. It would call
284 212 pushInheritedAttributesToPage, construct a pages tree from scratch,
285 213 and replace the /Pages key of the root dictionary with the new
... ... @@ -369,14 +297,6 @@ I find it useful to make reference to them in this list
369 297 viewing software silently ignores objects of this type, so this is
370 298 probably not a big deal.
371 299  
372   - * If we ever want to have check mode check the integrity of the free
373   - list, this can be done by looking at the code from prior to the
374   - object stream support of 4/5/2008. It's in an if (0) block and
375   - there's a comment about it. There's also something about it in
376   - qpdf.test -- search for "free table". On the other hand, the value
377   - of doing this seems very low since no viewer seems to care, so it's
378   - probably not worth it.
379   -
380 300 * QPDFObjectHandle::getPageImages() doesn't notice images in
381 301 inherited resource dictionaries. See comments in that function.
382 302  
... ...