今天遇到一个问题,把项目资料扫描电子版归档,扫描完后发现某个资料排序是从最新到最旧,想着如何倒序排列。尝试了几个常用的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) #生成文件
当然,可以改造代码批量转换,就不多说了。




