diff options
author | Glen Mazza <gmazza@apache.org> | 2004-12-12 14:14:56 +0000 |
---|---|---|
committer | Glen Mazza <gmazza@apache.org> | 2004-12-12 14:14:56 +0000 |
commit | e38ff1dc2bd6aed01395782e28d940063da213f2 (patch) | |
tree | c7d566eca8392ccd213cb42ddc4088ecc268804f /src | |
parent | 68159920e12080cf05b0a83a61e4f1f32a9ff611 (diff) | |
download | xmlgraphics-fop-e38ff1dc2bd6aed01395782e28d940063da213f2.tar.gz xmlgraphics-fop-e38ff1dc2bd6aed01395782e28d940063da213f2.zip |
Moved PDF bookmark creation to endDocument(). (Fixed bug, was being
created after each page sequence in document.)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198198 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r-- | src/java/org/apache/fop/area/AreaTreeHandler.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/java/org/apache/fop/area/AreaTreeHandler.java b/src/java/org/apache/fop/area/AreaTreeHandler.java index 572793e9b..3439baa54 100644 --- a/src/java/org/apache/fop/area/AreaTreeHandler.java +++ b/src/java/org/apache/fop/area/AreaTreeHandler.java @@ -39,6 +39,7 @@ import org.apache.fop.fo.FOEventHandler; import org.apache.fop.fo.extensions.Outline; import org.apache.fop.fo.extensions.Bookmarks; import org.apache.fop.fo.pagination.PageSequence; +import org.apache.fop.fo.pagination.Root; import org.apache.fop.layoutmgr.PageSequenceLayoutManager; /** @@ -78,6 +79,9 @@ public class AreaTreeHandler extends FOEventHandler { // AreaTreeModel in use private AreaTreeModel model; + // The fo:root node of the document + private Root rootFObj; + // HashMap of ID's whose area is located on one or more PageViewports // Each ID has an arraylist of PageViewports sharing the area with this ID private Map idLocations = new HashMap(); @@ -193,6 +197,8 @@ public class AreaTreeHandler extends FOEventHandler { * @throws SAXException if there is some error */ public void endDocument() throws SAXException { + addBookmarks(rootFObj.getBookmarks()); + model.endDocument(); if (outputStatistics) { @@ -224,9 +230,10 @@ public class AreaTreeHandler extends FOEventHandler { log.debug("Current heap size: " + (memoryNow / 1024L) + "Kb"); } + rootFObj = pageSequence.getRoot(); + // If no main flow, nothing to layout! if (pageSequence.getMainFlow() != null) { - addBookmarks(pageSequence.getRoot().getBookmarks()); PageSequenceLayoutManager pageSLM = new PageSequenceLayoutManager(this, pageSequence); pageSLM.run(); |