常用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

相关推荐
开开心心就好20 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
软件工程小施同学1 天前
区块链论文速读 CCF A--VLDB 2025 (1) 附pdf下载
pdf·区块链
Java面试题总结3 天前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
傻啦嘿哟3 天前
Python操作PDF页面详解:删除指定页的完整方案
开发语言·python·pdf
m5655bj3 天前
使用 C# 修改 PDF 页面尺寸
java·pdf·c#
geovindu3 天前
python: 简单提取PDF文档内文字
开发语言·python·pdf
m0_694845573 天前
HandBrake 是什么?视频转码工具使用与服务器部署教程
服务器·前端·pdf·开源·github·音视频
yivifu4 天前
使用PyMuPdf删除PDF文档中的水印
pdf·pymupdf·去水印
ComPDFKit4 天前
ComPDF的产品升级:从工具包到PDF服务
pdf
占疏4 天前
pdf文件解析
pdf