PDF页面倒序

今天遇到一个问题,把项目资料扫描电子版归档,扫描完后发现某个资料排序是从最新到最旧,想着如何倒序排列。尝试了几个常用的PDF阅读器,没发现类似的功能,于是尝试用python来实现。

import fitz  # PyMuPDF
import os
#定义函数
def reverse_pdf_order(input_pdf_path, output_pdf_path):
    source_pdf = fitz.open(input_pdf_path)  # 打开pdf
    reversed_pdf = fitz.open()  # 新建pdf

    # Iterate through the pages in reverse order
    for page_number in range(source_pdf.page_count - 1, -1, -1):
        # 插入页面
        reversed_pdf.insert_pdf(source_pdf, from_page=page_number, to_page=page_number)

    reversed_pdf.save(output_pdf_path)  # 保存生成的pdf
    source_pdf.close()  # 关闭输入pdf
    reversed_pdf.close()  # 关闭生成的pdf

folder = 'd:/Desktop/' #指定工作目录
os.chdir(folder)       #切换到工作目录
input = 'input.pdf'    #需要调整页面顺序的文件
reverse_pdf_order(input, 'reversed_' + input) #生成文件

当然,可以改造代码批量转换,就不多说了。