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

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Java 查找并高亮PDF中的跨行文本,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

以下内容介绍如何在Java后端程序中查找并高亮PDF文档中的跨行文本。本次测试环境如下:

  • 源文档:PDF
  • 编译工具:IntelliJ IDEA2018
  • JDK:1.8.0
  • PDF类库:free spire.Pdf.jar 4.3.0

如图1:

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

图1

Java程序代码

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();
    }
}

高亮结果:

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

 

原创内容,如需转载,请务必注明出处!

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/209272.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!