2011-08-24 147 views
0

我正在使用Apache PDFBox掃描PDF以搜索指向某個文件的鏈接。PDFBox不識別鏈接

我已經有大約一千張PDF掃描,並且大多數鏈接(實際上除了一個之外,現在我都能看到)被發現。

但是,PDFBox中只有一個特定的鏈接被PDFBox忽略。如果我使用Foxit打開PDF並檢查鏈接的屬性,它看起來與所有其他鏈接完全相同(即發現)。

這是我使用過的鏈接迭代代碼:

for(Object p : pages) { 
     PDPage page = (PDPage)p; 

     List<?> annotations = page.getAnnotations(); 
     for(Object a : annotations) { 
      PDAnnotation annotation = (PDAnnotation)a; 

      if(annotation instanceof PDAnnotationLink) { 
       PDAnnotationLink link = (PDAnnotationLink)annotation; 

       /* Do stuff with the link */ 
      } 
     } 

    } 

在受影響的PDF,page.getAnnotations()並返回一個空列表。

除了我應該注意的註釋外,還有其他類型的鏈接嗎?

回答

1

我看了一下annot字典。它看起來像這樣:

<</A 1207 0 R/BS<</D[3.0]/S/D/Type/Border/W 0>>/Border[0 0 0[3.0]]/C[1.0 0.0 0.0]/H/I/Rect[56.4168 621.404 547.686 639.787]/Subtype/Link/Type/Annot>> 

我看不出有什麼問題。它也從頁面中的Annot項中正確引用。對不起,我不能有更多的幫助。

+0

你去那裏了:https://rapidshare.com/files/3712084146/PROT1112.pdf,它是用德語說的。該鏈接應位於表格的第一個數據行中。 – DeX3

+0

我看了一下annot字典。看起來像這樣: <>/Border [0 0 0 [3.0]]/C [1.0 0.0 0.0]/H/I/Rect [56.4168 621.404 547.686 639.787]/Subtype/Link/Type/Annot >> 我看不出有什麼問題。它也從頁面中的Annot項中正確引用。對不起,我不能有更多的幫助。 –