前言
在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