Python对PDF文件页面的旋转和切割

利用Python的.rotate()方法和.mediabox属性对PDF页面进行旋转和切割,最终生成一个PDF。下面结合案例进行说明,本示例中的名为split_and_rotate.pdf文件在practice_files文件夹中,

示例(1):

在home目录中创建一个新的PDF,命名为rotated.pdf。将split_and_rotate.pdf中的所有页面逆时针旋转90度后保存到该文件中。原始文件如下:

Python对PDF文件页面的旋转和切割_python

下面将以上的PDF文件逆时针旋转90度后保存。

源代码如下:

from pathlib import Path
from PyPDF2 import PdfReader, PdfWriter

# 定义 PDF 文件的路径,位置在当前工作目录下的 'practice_files' 文件夹中
pdf_path = Path.cwd() / 'practice_files' / 'split_and_rotate.pdf'

# 读取指定路径的 PDF 文件
pdf_reader = PdfReader(str(pdf_path))

# 创建一个 PDF 写入器对象,用于写入新的 PDF 文件
pdf_writer = PdfWriter()

# 遍历 PDF 文件中的每一页
for page in range(len(pdf_reader.pages)):
    # 将当前页面旋转 -90 度,并添加到写入器中
    pdf_writer.add_page(pdf_reader.pages[page].rotate(-90))

# 在用户的主目录下创建一个新的 PDF 文件 'rotated.pdf',以写入模式打开
with (Path.home() / 'rotated.pdf').open('wb') as f:
    # 将合并后的内容写入到新创建的文件中
    pdf_write