2

如何使图像可点击,以便打开附加的 ms word 文档?我在这里有一些 PDF,其中有一些图像(图标下方带有 ms word 文件名的 ms word 图标),通过单击图像打开附加的 ms word 文档,我想知道如何使用 iText 库执行此操作。我可以添加图像并附加 ms word 文档,但我还没有弄清楚如何应用诸如操作(GoToE 似乎仅适用于 PDF 附件)或链接之类的东西?

4

1 回答 1

2

请查看 ISO-32000-1(即 PDF 规范)中的第 12.6.4.4 节。该部分的标题为“嵌入式 Go-To Actions”:

在此处输入图像描述

正如您所发现的,您描述的行为是规范的。该GoToE动作用于跳转并形成嵌入在另一个 PDF 文件中的 PDF 文件。不支持其他文档格式,因为。

您唯一的选择是引入文件附件注释而不是嵌入文件以及 GoToE 操作。参见例如FileAttachmentAnnot示例:

public void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();
    Rectangle rect = new Rectangle(36, 700, 136, 800);
    PdfFileSpecification fs = PdfFileSpecification.fileEmbedded(
            writer, PATH, "test.docx", null);
    PdfAnnotation attachment =
            PdfAnnotation.createFileAttachment(writer, rect, "Click me" , fs);
    PdfAppearance app = writer.getDirectContent().createAppearance(100, 100);
    Image img = Image.getInstance(IMG);
    img.scaleAbsolute(100, 100);
    img.setAbsolutePosition(0, 0);
    app.addImage(img);
    attachment.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, app);
    writer.addAnnotation(attachment);
    document.close();
}

在此示例中,我们创建一个PdfAnnotation并为此注释定义自定义外观(而不是大头针或回形针符号)。我用了一张图片,因为这就是你想要的。在此处查看结果(这适用于 Adob​​e Reader,但并非所有 PDF 查看器都支持此功能)。

于 2015-06-23T15:24:06.470 回答