You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2017/07/08 20:40:43 UTC
svn commit: r1801323 -
/pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintBookmarks.java
Author: tilman
Date: Sat Jul 8 20:40:43 2017
New Revision: 1801323
URL: http://svn.apache.org/viewvc?rev=1801323&view=rev
Log:
PDFBOX-3859: show destination page
Modified:
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintBookmarks.java
Modified: pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintBookmarks.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintBookmarks.java?rev=1801323&r1=1801322&r2=1801323&view=diff
==============================================================================
--- pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintBookmarks.java (original)
+++ pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/PrintBookmarks.java Sat Jul 8 20:40:43 2017
@@ -16,14 +16,15 @@
*/
package org.apache.pdfbox.examples.pdmodel;
+import java.io.File;
+import java.io.IOException;
+
import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageDestination;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineNode;
-import java.io.File;
-import java.io.IOException;
-
/**
* This is an example on how to access the bookmarks that are part of a pdf document.
*
@@ -55,7 +56,7 @@ public class PrintBookmarks
PDDocumentOutline outline = document.getDocumentCatalog().getDocumentOutline();
if( outline != null )
{
- meta.printBookmark( outline, "" );
+ meta.printBookmark(document, outline, "");
}
else
{
@@ -83,18 +84,24 @@ public class PrintBookmarks
/**
* This will print the documents bookmarks to System.out.
*
+ * @param document The document.
* @param bookmark The bookmark to print out.
* @param indentation A pretty printing parameter
*
* @throws IOException If there is an error getting the page count.
*/
- public void printBookmark( PDOutlineNode bookmark, String indentation ) throws IOException
+ public void printBookmark(PDDocument document, PDOutlineNode bookmark, String indentation) throws IOException
{
PDOutlineItem current = bookmark.getFirstChild();
while( current != null )
{
+ if (current.getDestination() instanceof PDPageDestination)
+ {
+ PDPageDestination pd = (PDPageDestination) current.getDestination();
+ System.out.println("Destination page: " + pd.retrievePageNumber());
+ }
System.out.println( indentation + current.getTitle() );
- printBookmark( current, indentation + " " );
+ printBookmark( document, current, indentation + " " );
current = current.getNextSibling();
}