当前位置:千优问>常见问答>Java 查找并高亮PDF中的跨行文本

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

2022-02-23 00:42:02 编辑:join 浏览量:590

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

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

工具/材料

源文档:PDF

编译工具:IntelliJ IDEA2018

JDK:1.8.0

PDF类库:free spire.Pdf.jar3.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;

publicclass HighlightCrosslineText{

public static void main(String[]args)throws Exception{

//加载PDF源文档

PdfDocument pdf=new PdfDocument();

pdf.loadFromFile("test.pdf");

PdfTextFind[]result1;

for(ObjectpageObj:pdf.getPages()){

PdfPageBasepage=(PdfPageBase)pageObj;

// 查找跨行文本

result1=page.findText("电子邮件",EnumSet.of(TextFindParameter.CrossLine)).getFinds();

for(PdfTextFind find:result1){

//高亮文本

find.applyHighLight(Color.pink);//指定高亮颜色

find.getBounds();

}

}

PdfTextFind[]result2;

for(ObjectpageObj:pdf.getPages()){

PdfPageBasepage=(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中的跨行文本

特别提醒

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

标签:高亮