前言:
昨晚又收到以前大学同学发来的需求求助,说手上有一大堆PDF文件,每个PDF文件里的内容是每隔两页是一个人的信息,想将这些一个人的信息全部一个一个生成新的PDF文件,大约有一千多个个人信息,看到这样的需求昨晚又兴奋了搞了下代码,临时写出来的代码不知道会有哪些不正规的写法,现在写出来做下笔记记录下,说不定以后会用的上,以后用到再改,代码如下:
from PyPDF2 import PdfFileReader, PdfFileWriter
import os
file_dir = '你要准备分割文件的路径' # 如'D:\文件夹'
file_list = []
os.chdir('你要准备分割文件的路径')
for files in os.walk(file_dir):
for file in files[2]:
file_list.append(file)
# print(file)
new_filename = []
for i in range(len(file_list)):
if not os.path.exists('分割完的文件放置位置'): # 例如D:\文件夹\\
os.makedirs('分割完的文件放置位置')
with open(file_list[i], 'rb') as infile:
print(file_list[i])
reader = PdfFileReader(file_list[i])
number_of_pages = reader.getNumPages() # 计算此PDF文件中的页数
print('%s页' % number_of_pages)
for j in range(number_of_pages):
if j % 2 == 0: # 当读取到偶数时进入如下命令
writer = PdfFileWriter()
writer.addPage(reader.getPage(j))
writer.addPage(reader.getPage(j+1))
out_file_name = '分割完的文件放置位置' + str(j + 1) + file_list[i]
with open(out_file_name, 'wb') as outfile:
writer.write(outfile)