Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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 使用IText解析PDF文件以在现有文本中添加超链接_Java_Itext_Pdfbox_Pdf Parsing - Fatal编程技术网

Java 使用IText解析PDF文件以在现有文本中添加超链接

Java 使用IText解析PDF文件以在现有文本中添加超链接,java,itext,pdfbox,pdf-parsing,Java,Itext,Pdfbox,Pdf Parsing,我知道PDF不是用于编辑的,但我有一个要求,我需要解析PDF并修改它以将所有文本元素转换为超链接。 有没有办法做到这一点 非常感谢,将文本元素转换为超链接涉及多个操作: 您必须应用文本提取,同时还要提取文本位置,而不仅仅是纯文本 在提取的文本和位置中,您必须找到所有要创建超链接的文本部分 找到它们后,获取它们的位置并添加适当的注释以使它们超链接 带位置的文本提取可以在iText中执行LocationTextExtractionStrategy的变体(参见;即使它是为iTextSharp编写的,也

我知道PDF不是用于编辑的,但我有一个要求,我需要解析PDF并修改它以将所有文本元素转换为超链接。 有没有办法做到这一点

非常感谢,

将文本元素转换为超链接涉及多个操作:

  • 您必须应用文本提取,同时还要提取文本位置,而不仅仅是纯文本

  • 在提取的文本和位置中,您必须找到所有要创建超链接的文本部分

  • 找到它们后,获取它们的位置并添加适当的注释以使它们超链接


  • 带位置的文本提取可以在iText中执行
    LocationTextExtractionStrategy
    的变体(参见;即使它是为iTextSharp编写的,也适用相同的原则)和PDFBox重写
    PDFTextStripper.writeString(字符串,列表)中完成

    基本上,您必须应用文本提取,同时还要提取文本位置,而不仅仅是纯文本。在这个位置提取的文本中,你必须找到所有你想建立超链接的文本。找到它们后,获取它们的位置并添加适当的注释以使它们超链接。可以在iText中使用
    LocationTextExtractionStrategy
    的变体和PDFBox overriding
    PDFTextStripper.writeString(String,List)
    中提取带位置的文本。谢谢,我会尝试一下。它成功了;再次感谢mkl。我想,你的第一条评论已经足够回答了。它能被提升为回答吗?好的,我已经回答了。