本文实例讲述了Python实现简单拆分PDF文件的方法。分享给大家供大家参考。具体如下:
依赖pyPdf处理PDF文件
切分pdf文件
使用方法:
1)将要切分的文件放在input_dir目录下
2)在configure.txt文件中设置要切分的份数(如要切分4份,则设置part_num=4)
3)执行程序
4)切分后的文件保存在output_dir目录下
5)运行日志写在pp_log.txt中
P.S. 本程序可以批量切割多个pdf文件
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
from pyPdf import PdfFileWriter, PdfFileReader import os import time import sys def 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_len: ye = pdf_pages_len / config_count lst_ye = pdf_pages_len % config_count part_count = 0 part_count_ye = 0 for fen in range (config_count): part_count + = 1 if part_count = = config_count: part_ye = ye + lst_ye else : part_ye = ye write_pdf(pdf, part_count_ye, part_count_ye + part_ye, fen, output_file) part_count_ye + = ye else : f_w.writelines( 'time: ' + now + ' file name: ' + file_name + ' status: part_num > 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程序设计有所帮助。