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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
import os from PyPDF2 import PdfFileReader, PdfFileWriter import time
def getFileName(filedir):
file_list = [os.path.join(root, filespath) \ for root, dirs, files in os.walk(filedir) \ for filespath in files \ if str(filespath).endswith('pdf') ] return file_list if file_list else []
def MergePDF(filepath, outfile):
output = PdfFileWriter() outputPages = 0 pdf_fileName = getFileName(filepath) pdf_fileName.sort()
if pdf_fileName: for pdf_file in pdf_fileName: print("路径:%s"%pdf_file)
input = PdfFileReader(open(pdf_file, "rb"))
pageCount = input.getNumPages() outputPages += pageCount print("页数:%d"%pageCount)
for iPage in range(pageCount): output.addPage(input.getPage(iPage))
print("合并后的总页数:%d."%outputPages) outputStream = open(os.path.join(filepath, outfile), "wb") output.write(outputStream) outputStream.close() print("PDF文件合并完成!")
else: print("没有可以合并的PDF文件!")
filepath = os.getcwd() name = "材料分析" def main(): time1 = time.time() file_dir = filepath outfile = name+"汇总.pdf" MergePDF(file_dir, outfile) time2 = time.time() print('总共耗时:%s s.' %(time2 - time1))
main()
|