带有PDFBox的PDF中指向页面的Java Create链接

2022-04-25 00:00:00 pdf java pdfbox

我的程序将PDF文件中的位置链接到同一文件中的另一个页面。因此,您可以单击文件中定义的位置,您将被链接到另一个页面。

我使用PDRectangle来定义位置。遗憾的是,该矩形在文档中可见。我希望创建不带可见边框的链接。

我的代码:

    PDActionGoTo action = new PDActionGoTo();
    action.setDestination(destination);

    PDAnnotationLink annotationLink = new PDAnnotationLink();
    annotationLink.setAction(action);

    PDRectangle position = new PDRectangle();
    position.setLowerLeftX(bookmarkLinkPositionEntry.getLowerLeftX());
    position.setLowerLeftY(bookmarkLinkPositionEntry.getLowerLeftY());
    position.setUpperRightX(bookmarkLinkPositionEntry.getUpperRightX());
    position.setUpperRightY(bookmarkLinkPositionEntry.getUpperRightY());

    annotationLink.setRectangle(position);

    destinationPDF.getPage(0).getAnnotations().add(annotationLink);

我尝试使用annotationLink.setHidden(true);annotationLink.setNoView(true);。文档只说"设置隐藏标志"。和"设置noview标志。"我不知道那里到底发生了什么。

如何更改矩形的可见性或完全删除边框?


解决方案

您需要设置边框样式:

PDBorderStyleDictionary borderULine = new PDBorderStyleDictionary();
borderULine.setStyle(PDBorderStyleDictionary.STYLE_UNDERLINE);
borderULine.setWidth(0);
annotationLink.setBorderStyle(borderULine);

有关此主题的更多信息,请参阅源代码下载中的AddAnnotations.java example。

相关文章