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文件,具体如下图:
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结果文档,高亮结果如下图:
特别提醒
文档路径可以另外自定义。本文中的代码路径为IDEA项目文件夹路径。
标签:高亮