首页 > 知识问答文章正文

Java 查找并高亮PDF中的跨行文本

知识问答 2022-02-15 05:21:24 admin

以下内容介绍通过Java程序来查找并高亮PDF中的跨行文本。

工具/材料

源文档:PDF

编译工具:IntelliJ IDEA2018

JDK:1.8.0

PDF类库:free spire.Pdf.jar 3.9.0

操作方法

【步骤01】

在项目文件夹路径(C:\Users\Administrator\IdeaProjects\FindAndHighLight_PDF)下存入用于测试的PDF文档。并在Java程序中导入jar文件,具体如下图:

【步骤02】

键入如下代码:
import com.spire.pdf.*;
import com.spire.pdf.general.find.PdfTextFind;
import com.spire.pdf.general.find.TextFindParameter;

import java.awt.*;
import java.util.EnumSet;

public class HighlightCrosslineText {
public static void main(String[] args) throws Exception {
//加载PDF源文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("test.pdf");

PdfTextFind[] result1;
for (Object pageObj : pdf.getPages()) {
PdfPageBase page =(PdfPageBase)pageObj;
// 查找跨行文本
result1 = page.findText("电子邮件", EnumSet.of(TextFindParameter.CrossLine)).getFinds();
for (PdfTextFind find : result1) {
//高亮文本
find.applyHighLight(Color.pink);//指定高亮颜色
find.getBounds();
}
}

PdfTextFind[] result2;
for (Object pageObj : pdf.getPages()) {
PdfPageBase page =(PdfPageBase)pageObj;
// 查找跨行文本
result2 = page.findText("心智模型中内在的隐喻", EnumSet.of(TextFindParameter.CrossLine)).getFinds();
for (PdfTextFind find : result2) {
//高亮文本
find.applyHighLight(Color.GREEN);//指定高亮颜色
find.getBounds();
}
}

//保存文档
pdf.saveToFile("output.pdf", FileFormat.PDF);
pdf.dispose();
}
}

【步骤03】

执行程序,生成PDF结果文档,高亮结果如下图:

特别提示

文档路径可以另外自定义。本文中的代码路径为IDEA项目文件夹路径。

标签:

发表评论

评论列表

可盼网Copyright @ 2011-2024 All Rights Reserved. |版权所有 备案号: 豫ICP备2022006457号-8