iText – 可点击的图片应该打开ms word附件

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

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

在此处输入图像描述

正如您所知,您描述的行为是按规范进行的。 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并为这个注释定义了一个自定义外观(而不是pin或paperclip符号)。 我用了一张图片,因为这就是你想要的东西。 在这里查看结果(这适用于Adobe Reader,但并非所有PDF查看器都支持此function)。