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

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

如图1:

图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中的跨行文本的更多相关文章

  1. DjVu、PDF中的隐藏文本

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2012.06.11 目录一.背景二.DjVu中的隐藏文本三.PDF中的隐藏文本 一.背景 目前对于扫描电子文档,网上比较流行 ...

  2. 校对双层PDF中的隐藏文本

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2012.06.11 目录一.背景二.能够校对的PDF需要满足的条件三.校对工具的选择四.校对过程五.延伸讨论 事先声明:本文 ...

  3. Java 添加、提取PDF中的图片

    Spire.Cloud.SDK for Java提供了PdfImagesApi接口可用于添加图片到PDF文档addImage().提取PDF中的图片extractImages(),具体操作步骤和Jav ...

  4. java itext替换PDF中的文本

    itext没有提供直接替换PDF文本的接口,我们可以通过在原有的文本区域覆盖一个遮挡层,再在上面加上文本来实现. 所需jar包: 1.先在PDF需要替换的位置覆盖一个白色遮挡层(颜色可根据PDF文字背 ...

  5. Java 读取PDF中的表格

    一.概述 本文以Java示例展示读取PDF中的表格的方法.这里导入Spire.PDF for Javah中的jar包,并使用其提供的相关及方法来实现获取表格中的文本内容.下表中整理了本次代码使用到的主 ...

  6. java 如何在pdf中生成表格

    1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...

  7. C#在PDF中如何以不同颜色高亮文本

    高亮的文本有助于阅读者快速有效地获取文章关键信息.在PDF文件中,对文章的不同文本,关键词.句等进行不同颜色的文本高亮操作,可以使阅读者在阅读过程中有效地区分不同高亮颜色文本的意义.在下面的示例中,我 ...

  8. Java 在PDF中添加工具提示|ToolTip

    本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示.添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容. 导入jar包 本次程序中使用的是 Free Spire.PDF for ...

  9. Java 替换PDF中的字体

    文档中可通过应用不同的字体来呈现不一样的视觉效果,通过字体来实现文档布局.排版等设计需要.应用字体时,可在创建文档时指定字体,也可以用新字体去替换文档中已有的字体.下面,以Java代码展示如何来替换P ...

  10. java 11-8 在大串中查找小串的案例

    1.统计大串中小串出现的次数 举例: 在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun& ...

随机推荐

  1. RAC 环境中 gc block lost 和私网通信性能问题的诊断

    声明:此文来自于MOS(Doc ID 1674865.1),整理在此以便于大家阅读学习. ■ 概要 在Oracle的RAC环境中,数据库会收集global cache 的工作负载统计信息,并把这些信息 ...

  2. 【RocketMQ】RocketMQ 5.0新特性(二)- Pop消费模式

    Pop模式消费和消息粒度负载均衡 在RocketMQ 5.0之前,消费有两种方式可以从Broker获取消息,分别为Pull模式和Push模式. Pull模式:消费需要不断的从阻塞队列中获取数据,如果没 ...

  3. 13. 从零开始编写一个类nginx工具, HTTP中的压缩gzip,deflate,brotli算法

    wmproxy wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感 ...

  4. Go 包操作之如何拉取私有的Go Module

    Go 包操作之如何拉取私有的Go Module 在前面,我们已经了解了GO 项目依赖包管理与Go Module常规操作,Go Module 构建模式已经成为了 Go 语言的依赖管理与构建的标准. 在平 ...

  5. Unity进阶提升-2D游戏跳跃手感优化(跳起下落)

    在进行2D游戏开发时,跳跃是不可缺少的一个重要功能.但是我们在Unity开发时Unity本身的物理引擎并不能提供很好的的手感,下落的时候轻飘飘的,这操作起来显然非常不舒服.所以,我们需要自己对跳跃进行 ...

  6. Docker从了解到部署应用的详细教程

    一.Docker基础知识 1.Docker (1)Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可以移植的容器中,然后发布到任何的linux机器上,可以实现虚拟化: (2)Docker ...

  7. AirSim 自动驾驶仿真 (6) 设置采集参数和属性

    https://cloud.tencent.com/developer/article/2011384 1.配置文件在哪 默认情况下,文件位于用户目录下的AirSim文件夹,比如在Windows下,文 ...

  8. GitHub 术语解释

    为了大家进一步了解和使用 GitHub,在本文中,我们一起来看看 GitHub 的常用术语,也可以说是基本概念: Repository:简称Repo,可以理解为"仓库",我们的项目 ...

  9. 【.NET】多线程:自动重置事件与手动重置事件的区别

    在多线程编程中,如果每个线程的运行不是完全独立的.那么,一个线程执行到某个时刻需要知道其他线程发生了什么.嗯,这就是所谓线程同步.同步事件对象(XXXEvent)有两种行为: 1.等待.线程在此时会暂 ...

  10. C语言【编译器、变量、输入输出有关的】

    C语言[编译器.变量.输入输出有关的] 一些想到的[从编译器到变量到输入输出有关的]的问题,有些是按自己理解写的答,有些待解决. C语言可以跨平台,汇编不可以,编译时C语言会根据不同系统翻译成不同形式 ...