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 2019/08/25 03:51:19 UTC

svn commit: r1865875 - /pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java

Author: tilman
Date: Sun Aug 25 03:51:19 2019
New Revision: 1865875

URL: http://svn.apache.org/viewvc?rev=1865875&view=rev
Log:
PDFBOX-4071: refactor

Modified:
    pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java

Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java?rev=1865875&r1=1865874&r2=1865875&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java Sun Aug 25 03:51:19 2019
@@ -124,38 +124,42 @@ public class PagePane implements ActionL
         {
             if (annotation instanceof PDAnnotationLink)
             {
-                PDAnnotationLink linkAnnotation = (PDAnnotationLink) annotation;
-                PDAction action = linkAnnotation.getAction();
-                if (action instanceof PDActionURI)
-                {
-                    PDActionURI uriAction = (PDActionURI) action;
-                    rectMap.put(annotation.getRectangle(), "URI: " + uriAction.getURI());
-                    continue;
-                }
-                PDDestination destination;
-                if (action instanceof PDActionGoTo)
-                {
-                    PDActionGoTo goToAction = (PDActionGoTo) action;
-                    destination = goToAction.getDestination();
-                }
-                else
-                {
-                    destination = linkAnnotation.getDestination();
-                }
-                if (destination instanceof PDNamedDestination)
-                {
-                    destination = document.getDocumentCatalog().
-                            findNamedDestinationPage((PDNamedDestination) destination);
-                }
-                if (destination instanceof PDPageDestination)
-                {
-                    PDPageDestination pageDestination = (PDPageDestination) destination;
-                    int pageNum = pageDestination.retrievePageNumber();
-                    if (pageNum != -1)
-                    {
-                        rectMap.put(annotation.getRectangle(), "Page destination: " + (pageNum + 1));
-                    }
-                }
+                collectLinkLocation((PDAnnotationLink) annotation);
+            }
+        }
+    }
+
+    private void collectLinkLocation(PDAnnotationLink linkAnnotation) throws IOException
+    {
+        PDAction action = linkAnnotation.getAction();
+        if (action instanceof PDActionURI)
+        {
+            PDActionURI uriAction = (PDActionURI) action;
+            rectMap.put(linkAnnotation.getRectangle(), "URI: " + uriAction.getURI());
+            return;
+        }
+        PDDestination destination;
+        if (action instanceof PDActionGoTo)
+        {
+            PDActionGoTo goToAction = (PDActionGoTo) action;
+            destination = goToAction.getDestination();
+        }
+        else
+        {
+            destination = linkAnnotation.getDestination();
+        }
+        if (destination instanceof PDNamedDestination)
+        {
+            destination = document.getDocumentCatalog().
+                    findNamedDestinationPage((PDNamedDestination) destination);
+        }
+        if (destination instanceof PDPageDestination)
+        {
+            PDPageDestination pageDestination = (PDPageDestination) destination;
+            int pageNum = pageDestination.retrievePageNumber();
+            if (pageNum != -1)
+            {
+                rectMap.put(linkAnnotation.getRectangle(), "Page destination: " + (pageNum + 1));
             }
         }
     }
@@ -257,6 +261,7 @@ public class PagePane implements ActionL
             PDFTextStripper stripper = new PDFTextStripper();
             stripper.setStartPage(pageIndex + 1);
             stripper.setEndPage(pageIndex + 1);
+            //stripper.setSortByPosition(true);
             textDialog.setText(stripper.getText(document));
         }
         catch (IOException ex)