依赖pypdf处理pdf文件
切分pdf文件
使用方法:
1)将要切分的文件放在input_dir目录下
2)在configure.txt文件中设置要切分的份数(如要切分4份,则设置part_num=4)
3)执行程序
4)切分后的文件保存在output_dir目录下
5)运行日志写在pp_log.txt中
p.s. 本程序可以批量切割多个pdf文件
from pypdf import pdffilewriter, pdffilereaderimport osimport timeimport sysdef part_pdf(input_file, output_file, config_count, f_w, now, file_name): file1 = file(input_file, 'rb') pdf = pdffilereader(file1) pdf_pages_len = len(pdf.pages) if config_count pdf pages [error]\n') sys.exit(1)def write_pdf(pdf, part_count_ye, part_count_ye_end, fen, output_file): out = pdffilewriter() for pp in range(part_count_ye, part_count_ye_end): out.addpage(pdf.getpage(pp)) ous = file(output_file+'_'+str(fen+1)+'.pdf', 'wb') out.write(ous) ous.close()def pdf_main(): f = open('configure.txt', 'r') f_w = open('pp_log.txt', 'a') now = time.strftime('%y-%m-%d %h:%m:%s') for i in f: i_ = i.strip() aa = i_.split('=')[1] if i_.find('part_num=') != -1 and aa.isdigit(): config_count = int(aa) else: f_w.writelines('time: '+now+' status: part_num in configure.txt is error [error]\n') sys.exit(1) files = os.listdir('input_dir/') for each in files: input_file = 'input_dir/'+each file_name = input_file[input_file.index('/'):input_file.index('.')] output_file = 'output_dir/'+file_name part_pdf(input_file, output_file, config_count, f_w, now, file_name) f_w.writelines('time: '+now+' file name: '+file_name+' status: success\n')pdf_main()
希望本文所述对大家的python程序设计有所帮助。
