Hi All,

I’ve just uploaded our work on PDF object streams. If accessibility is
enabled and PDF version 1.5 has been selected in the config file, then
the structure tree will be stored in object streams. Support for
cross-reference streams (a successor of the cross-reference table that
appeared in 1.5) has been implemented in order to be able to address
objects stored in object streams.

The amount of space saved can be substantial, as much as 70% on
a 20-page document.

The changes are relatively localized and mostly affect the PDF packages.
While there are significant refactorings, there is not a lot of new
code. Therefore I’m inclined to handle this using lazy consensus; So if
nobody objects within 72 hours, I’ll merge the branch back to trunk.

Side note for those using the PDF Images plug-in: once the branch has
been merged, the plug-in will have to be modified so that PDF objects do
not output the obj/endobj wrapper themselves if they are indirect. This
concerns the PDFBoolean and PDFString classes in
o.a.f.render.pdf.pdfbox. Also, AbstractPDFStream now uses composition
rather than inheritance for its dictionary, which requires changes to
PDFBoxAdapter. Once the PDF Images plug-in has been moved under the
umbrella of the XML Graphics project, we will upload the necessary
changes.

Thanks,
Vincent

Reply via email to