是否可以在PDF底部有一个单击此处的链接,然后单击该链接导航到同一PDF中的相应部分。
点击此处转到第1部分-Text1 点击此处转到第2部分-文字2
单击这些用户后,应分别导航到同一PDF中的文本1和文本2
我的情况下,我的PDF产品中列出了明智的类别。用户可以在下面查看所选的产品。在查看所选产品时,如果用户单击某个产品,则必须将用户导航到同一PDF中的该部分。非常感谢在实施此逻辑方面的任何帮助
答案 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