登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
通过apache tika从文档(pdf、doc、docx、txt)中 提取特 ...
通过apache tika从文档(pdf、doc、docx、txt)中 提取特征数据
[ 复制链接 ]
金娅鸣
2025-6-2 00:11:14
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
本文介绍如何通过apache tika从文档(pdf、doc、docx、txt)中 提取特征数据,比如文档中有身份证、姓名等信息。【全部是经本人实际测试过的功能】
1、需引入相关pom依赖
<dependency>
<groupId>org.apache.tika</groupId>
tika-core</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
tika-parsers-standard-package</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
xmlbeans</artifactId>
<version>5.1.1</version>
</dependency>
复制代码
2、编写相关代码
package org.example.wordcontent;
import org.apache.tika.Tika;
import org.apache.tika.exception.TikaException;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 通过apache tika从 pdf、doc、docx、txt中提取数据
* 核心依赖jar【tika-core 2.8.0、tika-parsers-standard-package 2.8.0(解析word时,需另外外依赖xmlbeans 5.1.1)】
* 假定文档中的内容具有下列属性:
* [授权人(签字):张三
* 身份证号码: 322025199902256056 ]
* 待提取的内容为张三 和 322025199902256056。张三和322025199902256056的值会变
*/
public class TikaExtrator {
public static void main(String[] args) {
try {
//// 替换为实际的PDF文件路径 测试例子: 如 测试.xlsx.
InputStream input = TikaExtrator.class.getClassLoader().getResourceAsStream("综合信息查询授权书测试.docx");
String text = extractTextFromFile(input);
System.out.println("text: " + text);
String name = extractName(text);
String idNumber = extractIdNumber(text);
System.out.println("授权人姓名: " + name);
System.out.println("身份证号码: " + idNumber);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
*
* @param inputStream
* @return
* @throws IOException
*/
private static String extractTextFromFile(InputStream inputStream) throws IOException {
Tika tika = new Tika();
try {
return tika.parseToString(inputStream);
} catch (TikaException e) {
throw new RuntimeException(e);
}
}
private static String extractName(String text) {
Pattern pattern = Pattern.compile("授权人(签字)[::]([\\u4e00-\\u9fa5]+)");
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
return matcher.group(1);
}
return "";
}
private static String extractIdNumber(String text) {
Pattern pattern = Pattern.compile("身份证号码[::](\\d{18}|\\d{15})");
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
return matcher.group(1);
}
return "";
}
}
复制代码
3、执行效果
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
通过
apache
tika
文档
pdf
相关帖子
国产化Word处理控件Spire.Doc教程:使用Java将RTF文件转换为PDF的全面教程
通过SSH反向隧道让远程服务器走本地代理
Spring AI 代码分析(七)--文档的处理
使用 html2canvas + jsPDF 生成PDF 的简单示例(含文字下沉修复)
【首选】PDF转视频教程:20秒一键将PDF转换为视频软件
PDF处理控件Aspose.PDF教程:如何使用Java从PDF中删除图像
Apache Hudi 项目总体分析
如何通过无代码平台构建高效智能体 — AgenticHub的革命性创新
LRC/PDF泛目录站群重制版
企业微信相关文档
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
国产化Word处理控件Spire.Doc教程:使用Java将RTF文件转换为PDF的全面教程
2
341
红弘丽
2025-11-23
安全
通过SSH反向隧道让远程服务器走本地代理
1
1035
杆树
2025-11-23
业界
Spring AI 代码分析(七)--文档的处理
2
354
郜庄静
2025-11-25
业界
使用 html2canvas + jsPDF 生成PDF 的简单示例(含文字下沉修复)
2
470
东新
2025-11-25
安全
【首选】PDF转视频教程:20秒一键将PDF转换为视频软件
0
404
靛尊
2025-11-28
业界
PDF处理控件Aspose.PDF教程:如何使用Java从PDF中删除图像
1
522
翳舀
2025-11-29
业界
Apache Hudi 项目总体分析
0
179
柏球侠
2025-11-30
安全
如何通过无代码平台构建高效智能体 — AgenticHub的革命性创新
1
641
搜娲瘠
2025-12-05
程序
LRC/PDF泛目录站群重制版
0
34
新程序
2025-12-08
安全
企业微信相关文档
1
670
厂潺
2025-12-10
回复
(2)
郦湘云
2025-11-14 22:58:56
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
怀陶宁
前天 16:00
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
金娅鸣
前天 16:00
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991123
4
xiangqian
638210
5
韶又彤
9999
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
23
观察者模式,发布/订阅模式,与回调函数
693
用 GPT-5.2 Vibe Coding,做了一个可以“玩
931
上海专业防水补漏服务:国家一级资质,免费
349
基于深度学习的无人机视角检测系统演示与介
765
读书笔记 XILINX ug1137-Zynq UltraScale+
123
DBeaver 与 Excel JDBC 驱动(xlSql)使用说
928
【节点】[Adjustment-InvertColors节点]原
717
笔记 XILINX ug1085-Zynq UltraScale+ Devi
447
笔记 XILINX ug1085-Zynq UltraScale+ Devi
721
读书笔记 XILINX ug1085-Zynq UltraScale+
899
基于深度学习的船舶检测系统演示与介绍
436
吴恩达深度学习课程四:计算机视觉
787
报错“Message: session not created: prob
997
基于深度学习的遥感地面物体检测系统演示与
575
时序数据库 IoTDB Committer:不用等自己足
185
南京医科大学黄伯贤教授团队多组学构建胎儿
773
如何使用 vxe-gantt table 甘特图来实现多
859
OpenCVSharp:学习最佳匹配矩形检测
122
题解 SP10366 CODEIT03 - Play with Dates
777
Avalonia:辨析 UserControl 与 TemplatedC