前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python之PDF提取文字(超级简单)

python之PDF提取文字(超级简单)

作者头像
不止于python
发布2023-09-05 14:21:58
1.8K0
发布2023-09-05 14:21:58
举报
文章被收录于专栏:不止于python

前言

在python中,有一些可以用来从PDF文件中提取文本内容的包。以下是几个常用的包,有了前辈们的努力, 我们就可以直接使用轮子了, 直接上代码

测试文件

PyPDF2

PyPDF2 是一个纯 Python PDF 库,能够分割、合并、裁剪和转换 PDF 文件页面。它还可以添加自定义数据、查看选项和密码到 PDF 文件。PyPDF2 可以从 PDF 中检索文本和元数据,也可以将整个文件合并在一起。

安装

pip install PyPDF2

使用

代码语言:javascript
复制
import PyPDF2


pdf_reader = PyPDF2.PdfReader('sample.pdf')
text = ''
for page_num in range(len(pdf_reader.pages)):
    text += pdf_reader.pages[page_num].extract_text()

print(text)

输出

代码语言:javascript
复制
测试文档
一.标题一
1.小标题1
2.小标题2
二.标题二
3.小标题1
4.小标题2
三.标题三
5.小标题1
6.小标题2
[Finished in 0.3s]

PyMuPDF

PyMuPDF是一个基于MuPDF库的Python封装,它提供了在Python中处理PDF文件的能力,包括读取PDF文本、图像、元数据以及进行一些基本操作的功能。MuPDF是一款高性能的PDF渲染和解析引擎

安装

pip install PyMuPDF

使用

代码语言:javascript
复制
import fitz

pdf_document = fitz.open('sample.pdf')
text = ''
for page_num in range(pdf_document.page_count):
    text += pdf_document[page_num].get_text()

print(text)

输出

代码语言:javascript
复制
测试文档
一. 标题一
1. 小标题 1
2. 小标题 2
二. 标题二
3. 小标题 1
4. 小标题 2
三. 标题三
5. 小标题 1
6. 小标题 2

[Finished in 0.1s]

pdfplumber

pdfplumber 是一个用于从 PDF 文件中提取文本和表格数据的 Python 库。它建立在 PDFMiner、pdftotext 和 pyPDF2 等库之上,提供了更加高级和便捷的界面,使得从 PDF 中提取文本、表格和其他数据变得更加简单

安装

pip install pdfplumber

使用

代码语言:javascript
复制
import pdfplumber

text = ""
with pdfplumber.open('sample.pdf') as pdf:
    for page in pdf.pages:
        text += page.extract_text()
    print(text)

输出

代码语言:javascript
复制
测试文档
一. 标题一
1. 小标题1
2. 小标题2
二. 标题二
3. 小标题1
4. 小标题2
三. 标题三
5. 小标题1
6. 小标题2
[Finished in 0.2s]

总结

以上只是一些PDF解析的一部分模块和使用示例,根据输出结果来看, 可以满足基本使用, 开发过程中应该根据需求和项目要求,选择最适合的模块来解析和处理PDF文件。无论你选择哪个模块,都可以通过合适的方法提取PDF文件中的文本和数据。

当然还有其它的模块, 这里列举的是比较好用且简单的模块, 复杂的还可以使用OCR(光学字符识别)来进行提取数据, python常见的ocr模块有pytesseract, OpenCV, easyocr

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 不止于python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档