2011-08-24 69 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项中正确引用。对不起,我不能有更多的帮助。 –