我正在使用Apache PDFBox扫描PDF以搜索指向某个文件的链接。
我有大约一千个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()
会返回一个空列表。
除了我应该注意的注释之外,还有其他类型的链接吗?
答案 0 :(得分: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>>
我看不出有什么问题。它也可以从页面中的Annots条目正确引用。对不起,我无法提供更多帮助。