Python 处理 PDF:PyMuPDF 的安装与使用!(Python 处理 PDF:PyMuPDF 安装教程及使用指南!)
原创
一、PyMuPDF 简介
PyMuPDF 是一个有力的 Python 库,用于处理 PDF 文件。它基于 MuPDF 库,拥护读取、写入、合并、分割、旋转、加密和解密 PDF 文件。此外,PyMuPDF 还拥护将 PDF 转换成图像、文本和其他格式。下面将为您介绍 PyMuPDF 的安装与使用方法。
二、安装 PyMuPDF
在安装 PyMuPDF 之前,请确保您的 Python 环境已经安装了 pip。以下是在 Windows、Linux 和 macOS 系统中安装 PyMuPDF 的步骤:
1. Windows 系统
pip install PyMuPDF
2. Linux 系统
pip install PyMuPDF
3. macOS 系统
pip install PyMuPDF
安装完成后,您可以通过以下命令检查 PyMuPDF 是否安装成就:
python -c "import PyMuPDF"
三、PyMuPDF 基本使用
下面将通过几个示例来介绍 PyMuPDF 的基本使用方法。
1. 读取 PDF 文件
使用 PyMuPDF 读取 PDF 文件非常易懂,以下是一个示例代码:
import fitz # PyMuPDF 的别名
# 打开 PDF 文件
doc = fitz.open("example.pdf")
# 获取 PDF 文件的页数
page_count = len(doc)
# 遍历每一页,并打印页面文本
for page_num in range(page_count):
page = doc.load_page(page_num)
print(page.text)
# 关闭 PDF 文件
doc.close()
2. 写入 PDF 文件
以下是一个向 PDF 文件添加文本的示例代码:
import fitz
# 打开 PDF 文件
doc = fitz.open("example.pdf")
# 添加新页面
page = doc.new_page()
# 在新页面上添加文本
page.insert_text((100, 100), "Hello, World!")
# 保存 PDF 文件
doc.save("modified_example.pdf")
# 关闭 PDF 文件
doc.close()
3. 合并 PDF 文件
以下是一个合并两个 PDF 文件的示例代码:
import fitz
# 打开第一个 PDF 文件
doc1 = fitz.open("example1.pdf")
# 打开第二个 PDF 文件
doc2 = fitz.open("example2.pdf")
# 将第二个 PDF 文件的内容添加到第一个 PDF 文件中
doc1.insert_pdf(doc2)
# 保存合并后的 PDF 文件
doc1.save("merged_example.pdf")
# 关闭 PDF 文件
doc1.close()
doc2.close()
4. 分割 PDF 文件
以下是一个将 PDF 文件分割为多个文件的示例代码:
import fitz
# 打开 PDF 文件
doc = fitz.open("example.pdf")
# 分割 PDF 文件
for i in range(len(doc)):
# 创建新 PDF 文件
new_doc = fitz.open()
# 将当前页面添加到新 PDF 文件中
new_doc.insert_pdf(doc, from_page=i, to_page=i)
# 保存新 PDF 文件
new_doc.save(f"split_example_{i+1}.pdf")
# 关闭新 PDF 文件
new_doc.close()
# 关闭原始 PDF 文件
doc.close()
四、PyMuPDF 高级功能
除了基本功能外,PyMuPDF 还拥护许多高级功能,如下所示:
1. 提取图像
以下是一个从 PDF 页面提取图像的示例代码:
import fitz
# 打开 PDF 文件
doc = fitz.open("example.pdf")
# 获取第一页
page = doc.load_page(0)
# 提取页面中的图像
image_list = page.get_images(full=True)
# 保存提取的图像
for img_index, img in enumerate(image_list, start=1):
xref = img[0]
base_image = doc.extract_image(xref)
img_bytes = base_image["image"]
with open(f"image_{img_index}.png", "wb") as img_file:
img_file.write(img_bytes)
# 关闭 PDF 文件
doc.close()
2. 提取文本框
以下是一个从 PDF 页面提取文本框的示例代码:
import fitz
# 打开 PDF 文件
doc = fitz.open("example.pdf")
# 获取第一页
page = doc.load_page(0)
# 提取页面中的文本框
text_boxes = page.get_text("dict")["blocks"]
# 打印每个文本框的文本
for text_box in text_boxes:
print(text_box["text"])
# 关闭 PDF 文件
doc.close()
3. 提取表格数据
以下是一个从 PDF 页面提取表格数据的示例代码:
import fitz
import camelot
# 打开 PDF 文件
doc = fitz.open("example.pdf")
# 获取第一页
page = doc.load_page(0)
# 提取页面中的表格数据
table_data = camelot.read_pdf(page)
# 打印表格数据
print(table_data)
# 关闭 PDF 文件
doc.close()
五、总结
本文介绍了 PyMuPDF 的安装与使用方法。PyMuPDF 是一个功能有力的 Python 库,拥护处理 PDF 文件的多种操作,如读取、写入、合并、分割、提取图像、文本框和表格数据等。通过 PyMuPDF,您可以在 Python 环境中轻松地处理 PDF 文件,尽或许缩减损耗工作高效。