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

2023-09-05 14:21:58 浏览数 (2)

前言

在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

0 人点赞