使用itext插入“链接的矩形”

时间:2014-03-05 10:19:59

标签: itext

我想在我事先知道的位置插入现有PDF的超链接:我已经在给定页面上有一个矩形坐标。我想将此矩形链接到同一PDF的另一页(我也提前知道)。

我如何实现这一目标?

1 个答案:

答案 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
  • 矩形(你事先知道的位置,
  • 突出显示选项(选择一项:HIGHLIGHT_NONE,HIGHLIGHT_INVERT,HIGHLIGHT_OUTLINE,HIGHLIGHT_PUSH,HIGHLIGHT_TOGGLE),
  • 您要链接的页面,
  • 目的地(可能有不同的选项,请参阅The ABC of PDF)。

获得PdfAnnotation的实例后,您可以使用addAnnotation()方法将其添加到特定页面。