文章

python实现按每n页拆分PDF

创建python文件,粘贴下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import os
from PyPDF2 import PdfReader, PdfWriter

def split_pdf(input_file_path, output_folder_path):
    pdf_reader = PdfReader(input_file_path)
    if not os.path.exists(output_folder_path):
        os.makedirs(output_folder_path)
    
    for page in range(0, len(pdf_reader.pages), 2):
        pdf_writer = PdfWriter()
        for j in range(page, min(page + 2, len(pdf_reader.pages))):
            pdf_writer.add_page(pdf_reader.pages[j])
        output_filename = f'output_{page//2 + 1}.pdf'
        output_file_path = os.path.join(output_folder_path, output_filename)
        with open(output_file_path, 'wb') as out:
            pdf_writer.write(out)

def main():
    input_file_path = input("请输入PDF文件的路径: ")
    if not os.path.isfile(input_file_path):
        print("输入的路径不是一个有效的PDF文件。")
        return
    
    input_folder_path, input_file_name = os.path.split(input_file_path)
    output_folder_name = "output"
    output_folder_path = os.path.join(input_folder_path, output_folder_name)
    
    split_pdf(input_file_path, output_folder_path)
    print(f"PDF文件已成功拆分,并保存在文件夹 '{output_folder_name}' 中。")

if __name__ == "__main__":
    main()

执行脚本后要求拖入要处理的pdf文件,拖入后回车执行然后会在相同目录下创建一个文件夹,里面有所有拆分的文件,还可以配合everything重新命名。

本文由作者按照 CC BY 4.0 进行授权