IText 7 Link 边框显示

IText 7 Link Border Showing

使用 Itext 7 生成 pdf 并发现锚标记已弃用,因此使用 Link。

Link projectNameLink = new Link("**Test**", PdfAction.createURI("https://www.google.com"));       
projectNameLink.setFontColor(Color.BLUE)
               .setBorder(Border.NO_BORDER);
Paragraph footerContent = new Paragraph().add(projectNameLink).setBorder(Border.NO_BORDER);

将此添加到段落中。 Acrobat Reader 中的文档在 Test 周围显示边框。我在下面看到的相同 Url 。这是一个错误吗?或者我错过了什么。如何去除边框?

Try to download the file

并在 Acrobat Reader 上打开可以看到沿着 Link 文本的边框。

iText 的默认行为是添加边框。 但是,您可以对这些操作应用一些样式。

PdfAnnotation la1 = new PdfLinkAnnotation(new Rectangle(0, 0, 0, 0))
        .setHighlightMode(PdfAnnotation.HIGHLIGHT_INVERT)
        .setAction(js)
        .setBorderStyle(PdfAnnotation.STYLE_UNDERLINE); // this is what you need

看看http://developers.itextpdf.com/content/itext-7-building-blocks/examples/chapter-6

我遇到了同样的问题,只是想要完全没有边框,我找到了解决方案:

PdfAnnotation la1 = new PdfLinkAnnotation(new Rectangle(0, 0, 0, 0))
    .setHighlightMode(PdfAnnotation.HIGHLIGHT_NONE)
    .setAction(js)
    .setBorder(new PdfArray(new int[]{0,0,0}))

我通过阅读 javadoc 找到了解决方案:http://itextsupport.com/apidocs/itext7/latest/com/itextpdf/kernel/pdf/annot/PdfAnnotation.html#getBorder--