iText-创建指向PDF/A-3中嵌入图像的链接

iText-创建指向PDF/A-3中嵌入图像的链接,pdf,itext,Pdf,Itext,我已经使用iText 5.5.4创建了一个带有附加图像文件的PDF/a-3文档。我需要的是在文档主体中添加链接,以直接打开图像 我尝试了以下方法来创建链接: PdfAnnotation linktoimg = PdfAnnotation.createFileAttachment (writer, rectangle, "Open picture", fileSpec); writer.addAnnotation(li

我已经使用iText 5.5.4创建了一个带有附加图像文件的PDF/a-3文档。我需要的是在文档主体中添加链接,以直接打开图像

我尝试了以下方法来创建链接:

PdfAnnotation linktoimg = PdfAnnotation.createFileAttachment
                                        (writer, rectangle, "Open picture", fileSpec);
writer.addAnnotation(linktoimg);
编译是正常的,但在运行时我得到一个PDFaconPerformanceException:

不允许批注类型/文件附件

我还尝试添加一个锚来打开图像,但我发现ISO-32000-1规范不支持它。gotoEmbedded函数仅适用于附加的PDF文件


那么,有没有办法做到这一点,或者我是否面临PDF/a的限制?

这不是PDF/a-3(或PDF/a-2)的限制。事实上,您已经在iText PDF/a实现中发现了一个bug文件附件批注,但PDF/A-2和PDF/A-3中不允许使用


我推了一个补丁。它很快就会上市。或者,如果您不想从源代码生成,可以从下载快照生成。请记住,虽然PDF/a-2允许文件附件,但嵌入PDF/a-2文件中的任何文件本身都需要是兼容的PDF/a-2文件。只有使用PDF/A-3,您才能嵌入任意文件(例如OP提到的图像文件)。@rhens:您是对的,使用iText的最后一个快照版本时,例外情况消失了。但是,链接不会打开图像。我使用的代码与中的完全相同。您可以获得获得的PDF。我想我遗漏了一些东西…你的样品对我很有用。如果在Acrobat或Reader中打开该文件,它通常会在顶部显示一个蓝色条,表示该文件声明符合PDF/a。在这种情况下,查看器已禁用该注释。如果在该栏中单击“启用编辑”,或禁用PDF/A查看模式(
首选项
文档
以PDF/A模式查看文档
),则注释将处于活动状态。双击它将打开图像。如果您使用的是不同的查看器,您应该检查该查看器是否(完全)支持这些注释。天哪!它确实可以通过启用编辑功能来工作。。。因此,如果我很好地理解这一点,就没有办法在PDF/a模式下打开嵌入图片的链接?我不认为存在对文件附件注释进行限制的查看器要求(“PDF/a-3规范中的确认阅读器”)。所以看起来像是Adobe的一项实施决策,即禁用PDF/A文件的这些注释(在PDF/A视图模式下)。