Python实现多个pdf文件合并
作者:互联网
背景
由于工作原因,经常需要将多个pdf文件合并后打印,有时候上网找免费合并工具比较麻烦(公司内网不能访问公网),于是决定搞个小工具。
具体实现
需要安装 PyPDF2
pip install PyPDF2
代码
# -*- coding=utf-8 -*-
"""
功能: 将当前目录下的所有pdf文件合并为一个文件,新文件命名为 all_merge_年月日_时分秒.pdf
被合并的pdf文件不包含 all_merge 开头的文件
"""
import PyPDF2
import pathlib
import datetime
def do_merge(the_dir):
prefix = 'all_merge'
output_file = '%s_%s.pdf' % (prefix, datetime.datetime.now().strftime('%Y%m%d_%H%M%S'))
pdf_files = []
path_dir = pathlib.Path(the_dir)
for filename in path_dir.iterdir():
if not filename.is_file():
continue
if filename.name[0:len(prefix)] == prefix:
continue
elif filename.name.endswith('.pdf'):
pdf_files.append(filename.name)
pdf_files.sort(key=str.lower)
pdf_writer = PyPDF2.PdfFileWriter()
print("find %d pdf file(s)." % len(pdf_files))
idx = 0
for f in pdf_files:
idx += 1
print("%d: %s" % (idx, f))
pdf_obj = open(f, 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_obj)
for page_num in range(0, pdf_reader.numPages):
page_obj = pdf_reader.getPage(page_num)
pdf_writer.addPage(page_obj)
pdf_output = open(output_file, 'wb')
pdf_writer.write(pdf_output)
pdf_output.close()
print("merge file:[ %s ]" % output_file)
input("Press any key to exit.")
if __name__ == "__main__":
do_merge(".")
效果
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理
想要获取更多Python学习资料可以加
QQ:2955637827私聊
或加Q群630390733
大家一起来学习讨论吧!
标签:Python,合并,filename,merge,file,output,pdf,PyPDF2 来源: https://www.cnblogs.com/putao11111/p/14154556.html