登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
通过apache tika从文档(pdf、doc、docx、txt)中 提取特 ...
通过apache tika从文档(pdf、doc、docx、txt)中 提取特征数据
[ 复制链接 ]
金娅鸣
2025-6-2 00:11:14
本文介绍如何通过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
相关帖子
印度尼西亚数据源 PHP 对接文档
国产化PDF处理控件Spire.PDF教程:如何使用 Python 添加水印到 PDF
在Next.js中集成swagger文档
企业文档协作平台 ONLYOFFICE:DocSpace 与 Docs API 八月更新速览
[Flink] Apache Flink 概述
突破层级壁垒:Java通过递归实现目录结构的扁平化解析
将 PDF 转换为 TIFF 图片:简单有效的 Java 教程
告别文档搜索与同事打扰:Augment AI 聊天 + 200K 上下文全方位助力开发
Python Flask框架入门_2.通过token认证验证API的访问权限
ClaudeCode实现简单需求文档分析与拆分
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
印度尼西亚数据源 PHP 对接文档
0
825
讣丢
2025-08-28
业界
国产化PDF处理控件Spire.PDF教程:如何使用 Python 添加水印到 PDF
0
756
嫂潍
2025-08-29
业界
在Next.js中集成swagger文档
0
766
鸠站
2025-09-01
业界
企业文档协作平台 ONLYOFFICE:DocSpace 与 Docs API 八月更新速览
0
651
酝垓
2025-09-02
安全
[Flink] Apache Flink 概述
0
476
啸妹回
2025-09-04
安全
突破层级壁垒:Java通过递归实现目录结构的扁平化解析
0
44
愆蟠唉
2025-09-04
安全
将 PDF 转换为 TIFF 图片:简单有效的 Java 教程
0
612
豺独
2025-09-04
科技
告别文档搜索与同事打扰:Augment AI 聊天 + 200K 上下文全方位助力开发
0
89
訾颀秀
2025-09-08
安全
Python Flask框架入门_2.通过token认证验证API的访问权限
0
440
裆趾针
2025-09-08
科技
ClaudeCode实现简单需求文档分析与拆分
0
781
楞粳
2025-09-09
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
金娅鸣
2025-6-2 00:11:14
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多