Python PDF 分页

公司有超过100页的PDF需要,每一页都成为一个单独的PDF。

人工操作比较麻烦。

利用Python 可以进行操作:

脚本如下:

 

from PyPDF2 import PdfFileReader, PdfFileWriter
import time
import datetime
import os.path
print("\n******************************")
print("现在时间:" + str(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))))
print("******************************\n")
print("\n*****************************")
print(" 本脚本仅用于PDF文件分割! \n请将脚本和PDF放在同一文件夹下!\n                By Terry Gu \n                2020年9月9日")
print("*****************************\n")
read_file = input("请输入要拆分的PDF名字(例如test.pdf):")
while os.path.isfile(read_file) == False:
    read_file = input("请输入要拆分的PDF名字(例如test.pdf):")
else:
    print("您输入的是: " + str(read_file))
start = datetime.datetime.now()
pdf_file = open(read_file, 'rb')
pdf_input = PdfFileReader(pdf_file)
print("读取文件成功,共有" +  str(pdf_input.getNumPages()) + "页。")
input("按任意键确认,进行确认分割PDF文件!")
subname = read_file.split('.')[0]
for page in range(pdf_input.getNumPages()):
    pdf_writer = PdfFileWriter()
    pdf_writer.addPage(pdf_input.getPage(page))
    output = f'{subname}{page+1}.pdf'
    with open(output, 'wb') as output_pdf:
        pdf_writer.write(output_pdf)
    print("成功分割第" + str(page+1) + "页。")
end = datetime.datetime.now()
print("此次共计分割" + str(pdf_input.getNumPages()) + "页PDF文件。")
print("程序运行时间:"+str((end-start).seconds)+"秒")
input("按任意键退出!")