Python 处理 PDF:PyMuPDF 的安装与使用!(Python 处理 PDF:PyMuPDF 安装教程及使用指南!)

原创
ithorizon 7个月前 (10-19) 阅读数 27 #后端开发

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 文件,尽或许缩减损耗工作高效。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门