关于java:Java在PDF中查找文本并为其添加超链接

超链接是指链接到另一个文件或对象的图标、图形或文本。它是操作文档最罕用的性能之一。Spire.PDF for Java反对创立一个新的PDF文档并向其增加各种超链接,包含一般链接、超文本链接、电子邮件链接和文档链接。本文将向您展现如何在现有的PDF中为特定文本增加超链接。


程序环境

装置Spire.PDF for Java

首先,你须要在你的Java程序中增加Spire.Pdf.jar文件作为一个依赖项。该JAR文件能够从这个链接下载。如果你应用Maven,则能够通过在我的项目的pom.xml文件中增加以下代码轻松导入JAR文件。

代码示例

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.cn/repository/maven-public /</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>8.9.1</version>
    </dependency>
</dependencies>

注:请放弃下面代码中的版本号与下载链接中的版本号统一

在PDF中查找文本并为其增加超链接

步骤

• 创立一个PdfDocument实例,并应用PdfDocument.loadFromFile()办法加载一个样本PDF文档。
• 应用PdfDocument.getPages().get()办法获取文档的一个特定页面。
• 应用PdfPageBase.findText(String searchPatternText, boolean isSearchWholeWord)办法查找页面中所有匹配的文本,并返回一个PdfTextFindCollection对象。
• 依据特定查找后果的边界,创立一个PdfUriAnnotation实例。
• 应用PdfUriAnnotation.set(String value)办法为正文设置一个URL地址,并同时设置它的边框和色彩。
• 应用PdfPageBase.getAnnotationWidget().add()办法将URL注解作为一个新的注解增加到PDF注解汇合中。
• 应用PdfDocument.saveToFile()办法保存文档。

代码示例

import com.spire.pdf.*;
import com.spire.pdf.annotations.*;
import com.spire.pdf.general.find.*;
import com.spire.pdf.graphics.PdfRGBColor;
import java.awt.*;

public class SearchTextAndAddHyperlink {
    public static void main(String[] args) {
        //创立一个PdfDocument实例
        PdfDocument pdf = new PdfDocument();

        //加载一个样本PDF文档
        pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\sample.pdf");

        //失去第一页
        PdfPageBase page = pdf.getPages().get(0);

        //查找页面中所有匹配的文本,并返回一个PdfTextFindCollection对象
        PdfTextFindCollection collection = page.findText("Spire.PDF for Java", false);

        //loop through the find collection循环浏览查找到的汇合
        for(PdfTextFind find : collection.getFinds())
        {
            //创立一个PdfUriAnnotation实例为搜寻到的文本增加超链接
            PdfUriAnnotation uri = new PdfUriAnnotation(find.getBounds());
            uri.setUri("https://www.e-iceblue.com/Introduce/pdf-for-java.html");
            uri.setBorder(new PdfAnnotationBorder(1f));
            uri.setColor(new PdfRGBColor(Color.blue));
            page.getAnnotationsWidget().add(uri);
        }

        //保存文档
        pdf.saveToFile("output/searchTextAndAddHyperlink.pdf");
    }
}

效果图

TIPS:
该JAR包分为试用版和商业版,试用版除了会在生成的后果文档中增加红色水印,而且仅反对转换前 10 页到其它格局。当您购买并利用 license 后,会胜利移除这些水印信息并解除性能限度。

—THE END—

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理