Py学习  »  Python

PyPDF2: 一款操作操作PDF非常丝滑的Python库

Python绿色通道 • 1 年前 • 352 次点击  

PyPDF2介绍


图片来自网络,侵删

PyPDF2 是一个纯 Python 库,用于读取、写入和操作 PDF 文件。它是免费的、开源的,且不依赖于其他的外部库。PyPDF2 支持多种 PDF 操作,包括合并文档、拆分文档、裁剪页面、加密和解密文档、旋转页面等。它可以处理各种 PDF 格式的文件,即使是那些带有复杂布局和图像的文件。由于其简单的 API 和灵活性,PyPDF2 成为了处理 PDF 文件的流行选择,特别适合在自动化脚本和数据处理管道中使用。

下载地址

PyPDF2 可以通过 Python 的包管理工具 pip 安装。您可以在 PyPI 或 PyPDF2 的 GitHub 仓库找到相关信息和安装指导。

图片来自网络,侵删

安装方式

安装 PyPDF2 非常简单,只需要执行以下命令:

pip install PyPDF2

这个命令将从 PyPI 安装 PyPDF2 到您的 Python 环境中。

使用方式

PyPDF2 的使用涉及导入库、读取 PDF 文件、执行所需操作(如合并、拆分、旋转页面等),然后保存更改。

代码示例

合并 PDF 文件

合并 PDF 文件是指将两个或多个 PDF 文档合并成一个单一的文件。使用 PyPDF2 完成此操作相对简单。下面的代码演示了如何将两个 PDF 文件合并为一个:

from PyPDF2 import PdfReader, PdfWriter

# 创建 PDF 写入器对象
writer = PdfWriter()

# 打开第一个 PDF 文件并添加所有页面
reader1 = PdfReader("document1.pdf")
for page in reader1.pages:
    writer.add_page(page)

# 打开第二个 PDF 文件并添加所有页面
reader2 = PdfReader("document2.pdf")
for page in reader2.pages:
    writer.add_page(page)

# 将合并后的 PDF 写入新文件
with open("merged_document.pdf""wb"as output_pdf:
    writer.write(output_pdf)

拆分 PDF 文件

拆分 PDF 文件是指将一个 PDF 文档分割成多个单独的文件。以下示例展示了如何将一个 PDF 文件的每一页分别保存为一个新的 PDF 文件:




    
from PyPDF2 import PdfReader, PdfWriter

# 打开原始 PDF 文件
reader = PdfReader("original_document.pdf")

# 遍历每一页并将其保存为一个新文件
for i, page in enumerate(reader.pages):
    writer = PdfWriter()
    writer.add_page(page)
    with open(f"page_{i+1}.pdf""wb"as output_pdf:
        writer.write(output_pdf)

旋转 PDF 页面

旋转 PDF 页面是指改变页面的方向。PyPDF2 允许您顺时针或逆时针旋转页面。以下代码演示了如何将一个 PDF 文件的第一页顺时针旋转 90 度:

from PyPDF2 import PdfReader, PdfWriter

# 读取 PDF 文件
reader = PdfReader("example.pdf")

# 创建 PDF 写入器对象
writer = PdfWriter()

# 遍历原始文档的每一页
for i, page in enumerate(reader.pages):
    # 如果是第一页,旋转 90 度
    if i == 0:
        page.rotate_clockwise(90)
    writer.add_page(page)

# 保存更改到新文件
with open("rotated_example.pdf""wb"as output_pdf:
    writer.write(output_pdf)

总结

PyPDF2 提供了一种简单有效的方式来处理 PDF 文件的常见操作,如合并、拆分和旋转页面。以上代码示例展示了这些操作的基本用法。这些操作在自动化文档处理和数据提取中非常有用,可以显著提高工作效率。由于 PyPDF2 的 API 直观且易于理解,即使对于初学者也很容易上手。

OpenAI发布GPT-4 Turbo,ChatGPT重磅升级!

裁员14000!


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/164935