在前文中我曾介绍过如何使用Free Spire.PDF for Java来查找PDF文档中的指定文本并对其高亮显示。今天这篇文章将演示如何用这个工具来查找和高亮显示跨行文本。
安装Free Spire.PDF for Java
首先需要在E-iceblue中文官网获取Free Spire.PDF for Java产品包,将Spire.Pdf.jar作为依赖项添加到Java程序中;或者是创建Maven项目,然后在pom.xml文件中添加如下代码引入JAR包。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
代码示例
以下是查找和高亮显示跨行文本的具体实现步骤:
- 创建PdfDocument实例并通过PdfDocument.loadFromFile()方法加载一个PowerPoint示例文档。
- 使用PdfDocument.getPages()方法获取文档所有页面。
- 使用PdfPageBase.findText(java.lang.String searchPatternText, java.util.EnumSet<TextFindParameter> parameter)方法查找跨行文本,并使用PdfTextFindCollection.getFinds()方法获取文本信息。
- 使用PdfTextFind.appplyHighLight()方法高亮显示文本。
- 使用PdfDocument.saveToFile()方法保存结果文档至指定路径。
import com.spire.pdf.*;
import com.spire.pdf.general.find.PdfTextFind;
import com.spire.pdf.general.find.TextFindParameter;
import java.awt.geom.Rectangle2D;
import java.util.EnumSet;
public class FindAndHighlightText {
public static void main(String[] args) throws Exception {
//加载示例文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\sample.pdf");
PdfTextFind[] result = null;
for (Object pageObj : pdf.getPages()) {
PdfPageBase page =(PdfPageBase)pageObj;
// 查找跨行文本
result = page.findText("人工智能", EnumSet.of(TextFindParameter.CrossLine)).getFinds();
for (PdfTextFind find : result) {
//高亮文本
find.applyHighLight();
Rectangle2D bounds = find.getBounds();
}
}
//保存文档
pdf.saveToFile("output/FindAndHighlightText.pdf", FileFormat.PDF);
}
}
本文暂时没有评论,来添加一个吧(●'◡'●)