我想在我事先知道的位置插入现有PDF的超链接:我已经在给定页面上有一个矩形坐标。我想将此矩形链接到同一PDF的另一页(我也提前知道)。
我如何实现这一目标?
答案 0 :(得分:2)
请查看AddLinkAnnotation示例。
正如您(应该)已经知道的那样(但您没有显示您已经尝试过的内容,这在StackOverflow上是必需的),您可以使用PdfStamper
来操作现有的PDF。将一个页面上的矩形链接添加到另一个页面就像向该页面添加链接注释一样简单:
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
Rectangle linkLocation = new Rectangle(523, 770, 559, 806);
PdfDestination destination = new PdfDestination(PdfDestination.FIT);
PdfAnnotation link = PdfAnnotation.createLink(stamper.getWriter(),
linkLocation, PdfAnnotation.HIGHLIGHT_INVERT,
3, destination);
link.setBorder(new PdfBorderArray(0, 0, 0));
stamper.addAnnotation(link, 1);
stamper.close();
link
对象使用:
writer
实例绑定到stamper
,获得PdfAnnotation
的实例后,您可以使用addAnnotation()
方法将其添加到特定页面。