[Python代码]PDF处理-竖向A4页面转横向A3页面左侧

简介

查看英文PDF文件资料时,需要记录翻译的内容。原PDF行距较小,插入译文与原文容易重合,需要对PDF文件进行处理。将竖向A4页面转横向A3,并且原PDF页面位于左侧,右侧空白。空白处用于放置译文。

Python代码

import fitz  # PyMuPDF
# pip install pymupdf -i https://pypi.tuna.tsinghua.edu.cn/simple

def convert_a4_to_a3_left(input_pdf, output_pdf):
    doc = fitz.open(input_pdf)
    new_doc = fitz.open()

    # A3 横向的标准尺寸 (点): 1191 x 842
    a3_w, a3_h = 1190.55, 841.89

    for page in doc:
        # 创建新的 A3 横向页面
        new_page = new_doc.new_page(width=a3_w, height=a3_h)

        # 将原 A4 页面放置在左侧 (Rect 坐标: x0, y0, x1, y1)
        # A4 尺寸约为 595 x 842,正好占据 A3 横向的一半
        target_rect = fitz.Rect(0, 0, 595.27, 841.89)

        # 插入原页内容
        new_page.show_pdf_page(target_rect, doc, page.number)

    new_doc.save(output_pdf)
    new_doc.close()


convert_a4_to_a3_left("C:/Users/Admin/Desktop/input.pdf", "C:/Users/Admin/Desktop/output.pdf")

input.pdf为待转换的PDF文件,output.pdf为转换生成的PDF文件。

posted @ 2026-04-02 09:54  doitjust  阅读(7)  评论(0)    收藏  举报