插入“链接矩形”与iText的(Inserting a “linked rectangle” wit

2019-09-27 21:11发布

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

如何实现这一目标?

Answer 1:

请大家看看AddLinkAnnotation例子。

当你(应该)已经知道(但你没有显示你已经尝试过,这是在计算器上那种强制性的),你可以使用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),
  • 要链接到页面上,
  • 目的地(不同的选项是可能的,看PDF的ABC )。

一旦你有一个实例PdfAnnotation ,你可以将其添加到使用特定页面addAnnotation()方法。



文章来源: Inserting a “linked rectangle” with itext
标签: itext