【问题标题】:iText - Create link to embedded image in PDF/A-3iText - 在 PDF/A-3 中创建嵌入图像的链接
【发布时间】:2015-12-06 00:00:55
【问题描述】:

我使用 iText 5.5.4 创建了带有附加图像文件的 PDF/A-3 文档。我需要的是在文档正文中添加链接以直接打开图像。

我试过这个来创建链接:

PdfAnnotation linktoimg = PdfAnnotation.createFileAttachment
                                        (writer, rectangle, "Open picture", fileSpec);
writer.addAnnotation(linktoimg);

编译没问题,但在运行时我得到一个 PdfAConformanceException :

不允许注释类型/FileAttachment

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

那么有没有办法实现这一点,或者我是否面临 PDF/A 的限制?

【问题讨论】:

    标签: pdf itext


    【解决方案1】:

    这不是 PDF/A-3(或 PDF/A-2)的限制。事实上,您已经发现了 iText PDF/A 实现中的一个错误。 FileAttachment 注释在 PDF/A-1 中是不允许的,但在 PDF/A-2 和 PDF/A-3 中是不允许的。

    我已经推送了一个修复程序。它将很快在develop branch of iText repository on GitHub 中提供。或者,如果您不想从源代码构建,您可以从 iText repository 下载快照构建

    【讨论】:

    • 请记住,虽然 PDF/A-2 允许文件附件,但嵌入在 PDF/A-2 文件中的任何文件本身都必须是兼容的 PDF/A-2 文件。只有 PDF/A-3 才能嵌入任意文件(例如 OP 所说的图像文件)。
    • @rhens:你是对的,使用 iText 的最后一个快照版本时异常消失了。但是该链接不会打开图像。我使用了与this page 完全相同的代码。您可以获取获取的PDFhere。我想我错过了什么......
    • 您的样本对我有用。如果您在 Acrobat 或 Reader 中打开它,它通常会在顶部显示一个蓝色条,表示该文件声称符合 PDF/A。在这种情况下,查看器已禁用注释。如果您单击该栏中的“启用编辑”,或者如果您禁用 PDF/A 查看模式(PreferencesDocumentsView documents in PDF/A mode),注释将处于活动状态。双击它将打开图像。如果您使用的是其他查看器,则应检查该查看器是否(完全)支持这些注释。
    • 天哪!它确实通过启用编辑功能来工作......所以如果我理解这一点,就没有办法在 PDF/A 模式下打开嵌入图片的链接?
    • 我认为没有查看器要求(PDF/A-3 规范中的“确认阅读器”)对 FileAttachment 注释施加限制。所以看起来 Adob​​e 的一个实施决定是禁用 PDF/A 文件的这些注释(在 PDF/A 视图模式下)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2011-12-05
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    相关资源
    最近更新 更多