Add PDF-Outlines to the PDF-output
Task Description
PDF-Outlines allows to include a structural tree-view into a PDF-document. Outlines allow a quick navigation inside the document. Each outline entry acts as local hyperlink that positions the PDF-Viewer's view at the specified document location.
Solution Approach
In BIRT, outlines are generated automaticly from the group structures using thetable-of-contents model. Assuming that the table-of-contents need to be implemented anyway, we can reuse this model for both the table-of-contents and the outline generation.
To build a toc- or outline tree, each group must have a way to specify a text for the section.
(1) Store the text in a style-property of the root-band. With the Style-expressions in 0.8.8, we can compute style-properties rather easily. However, this would abuse the style-system for content generation, which is generally a bad idea.
(2) Include a specific anchor-element. An Anchor is a target-position for a hyper-link. If the anchor element is extended to also carry a description, we could use this one as source.
(3) Create a new element type called 'outline-content', which then carries the description for the outline.
In any case: The tree structure can be derived from the group-structure. Sub-Reports count as subgroups for that purpose. The Outline can finally be generated by the PDF-output target, no other output type has support for outlines.