常用pdf解析提取工具的分析和示例

目前,大量的文档采用pdf格式。相比word文档,pdf由于缺乏结构化支持,提取相对困难。

这里示例常用的pdf文档解析工具,比如pypdf、pdfplumber。

所用代码参考和修改自网络资料。

1 pypdf

1.1 pypdf说明

pypdf/pypdf2支持pdf的合并、拆分、旋转、加密、添加水印、提取文本。

缺点是文本提取能力有限,对复杂结构支持不好,不具备页面布局、表格识别等高级功能

1.2 提取示例

示例代码如下所示,每次解析一页,部分换行不能精确识别。

复制代码
from pypdf import PdfReader
reader = PdfReader(pdf_path)
text = ""
i = 0
for page in reader.pages:
    curr_text = page.extract_text()
    text += curr_text
    print(i, "=>", curr_text)
    i += 1

2 pdfplumber

支持表格提取的pdf提取工具,精确提取 结构化数据,尤其适用于表格、发票、报告等。

2.1 工具安装

安装命令如下所示

!pip install pdfplumber

2.2 提取示例

以下是使用pdfpluber提取文件的示例,支持按页提取表格内容,相比pypdf操控更精确。

复制代码
import pdfplumber
with pdfplumber.open(pdf_path) as pdf:
    page = pdf.pages[0]
    text = page.extract_text()
    table = page.extract_table()
    print("page=>")
    print("text=>", text)
    print("table=>", table)

reference


PDF工具集:PyPDF / PyPDF2、PDFMiner.six、PyMuPDF(fitz) 和 pdfplumber(v2+)

https://juejin.cn/post/7503490370367832079

大模型RAG应用开发之PDF解析工具对比

https://www.cnblogs.com/deeplearningmachine/p/18383664

网友认可的PDF开源解析工具

https://blog.csdn.net/liliang199/article/details/150986528

相关推荐
huaweichenai3 天前
spring boot操作PDF
java·spring boot·pdf
开开心心就好3 天前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
泡海椒4 天前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
泡海椒4 天前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
泡海椒5 天前
jquick-pdf 表格行列尺寸控制实战:单元格合并的可行边界
java·开发语言·pdf
java_logo5 天前
Docker 部署 Gotenberg 完整教程:Compose 搭建文档转 PDF API
docker·pdf·chromium·libreoffice·文档转换·轩辕镜像·gotenberg
泡海椒5 天前
jquick-pdf 防止 PDF 内容分页断裂:keepTogether 属性妙用
java·开发语言·pdf
泡海椒6 天前
jquick-pdf 文本元素实战:段落、行内文本、制表符用法详解
java·开发语言·pdf
SamChan906 天前
Python 处理小语种 PDF 的编码坑:重音字符、连字与 (cid:xx) 乱码的解决方案
python·ai·pdf·机器翻译
微咣科技6 天前
平台化工业AI再突破|大捷智能携手岚图汽车,打造车身焊装智能设计行业标杆
pdf·音视频