单击链接后,itext PDF 5.5导航到文本实例

时间:2018-08-26 23:31:54

标签: annotations itext

是否可以在PDF底部有一个单击此处的链接,然后单击该链接导航到同一PDF中的相应部分。

点击此处转到第1部分-Text1 点击此处转到第2部分-文字2

单击这些用户后,应分别导航到同一PDF中的文本1和文本2

我的情况下,我的PDF产品中列出了明智的类别。用户可以在下面查看所选的产品。在查看所选产品时,如果用户单击某个产品,则必须将用户导航到同一PDF中的该部分。非常感谢在实施此逻辑方面的任何帮助

1 个答案:

答案 0 :(得分:0)

这对我有用:

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    Document document = new Document(pdf);
    document.add(
        new Paragraph("Where's Waldo?")
            .setAction(PdfAction.createGoTo("Waldo")));
    document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
    document.add(
        new Paragraph("Here's Waldo!")
            .setDestination("Waldo"));
    document.close();
}

在第一页上,我有文本"Where's Waldo?"。我使用setAction()createGoTo()方法通过GoTo操作向此文本添加了链接注释。我使用String "Waldo"作为目的地的名称。

在下一页上,我添加文本"Here's Waldo!",并使用"Waldo"方法将此文本定义为GoTo操作的目的地,该操作引用了名称setDestination()

现在,当我单击第一页上的"Where's Waldo?"时,查看者将跳至第二页上的文本"Here's Waldo!"

重要,如果您仍在使用iText 5:

此答案中的代码段需要iText7。如果需要iText 5解决方案,请注意,不再支持iText 5。 iText 5的代码不同,但是原理相似:您定义了两个Chunk对象。您在一个Chunk上使用setLocalGoto()方法,在另一个setLocalDestination()方法上使用。参见http://itextsupport.com/apidocs/iText5/latest/com/itextpdf/text/Chunk.html