PDFBox无法识别链接

时间:2011-08-24 11:30:01

标签: java pdf pdfbox

我正在使用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()会返回一个空列表。

除了我应该注意的注释之外,还有其他类型的链接吗?

1 个答案:

答案 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条目正确引用。对不起,我无法提供更多帮助。