> IT技术 > Java 查找并高亮PDF中的跨行文本

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

以下内容介绍通过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文件,具体如下图:

Java 查找并高亮PDF中的跨行文本 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结果文档,高亮结果如下图:

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

特别提示

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