Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用PDFBox从PDF文档中删除链接_Java_Pdf_Hyperlink_Pdfbox_Remove - Fatal编程技术网

Java 如何使用PDFBox从PDF文档中删除链接

Java 如何使用PDFBox从PDF文档中删除链接,java,pdf,hyperlink,pdfbox,remove,Java,Pdf,Hyperlink,Pdfbox,Remove,使用PDFBox从PDF中删除链接的最佳方法是什么。示例:假设我有以下PDF格式的页面: 试验 我想把它转换成 测试1 删除链接,但保留文本,在本例中为test1。List annotations=page.getAnnotations(); List<PDAnnotation> annotations = page.getAnnotations(); for (PDAnnotation annotation : annotations) { PDAnnotation ann

使用PDFBox从PDF中删除链接的最佳方法是什么。示例:假设我有以下PDF格式的页面:

试验

我想把它转换成

测试1

删除链接,但保留文本,在本例中为test1。

List annotations=page.getAnnotations();
List<PDAnnotation> annotations = page.getAnnotations();
for (PDAnnotation annotation : annotations)
{
    PDAnnotation annot = annotation;
    if (annot instanceof PDAnnotationLink)
    {
        PDAnnotationLink link = (PDAnnotationLink) annot;
        PDAction action = link.getAction();
        if (action instanceof PDActionURI)
        {
            PDActionURI uri = (PDActionURI) action;
            if ("https://stackoverflow.com".equals(uri.getURI()))
            {
                annotations.remove(link);
                break;
            }                                
        }
    }
}
page.setAnnotations(annotations);
用于(PDA注释:注释) { PDAnnotation annot=注释; if(PDAnnotationLink的注释实例) { PDAnnotationLink=(PDAnnotationLink)annot; PDAction action=link.getAction(); if(PDActionURI的操作实例) { PDActionURI=(PDActionURI)操作; 如果(”https://stackoverflow.com“.equals(uri.getURI())) { 注释。删除(链接); 打破 } } } } 第页。设置注释(注释);
非常感谢tilman的回复。这对我有用!很高兴听到这个消息,请点击复选标记图标,使其成为可接受的答案。