第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > python实现pdf文件合并 多个pdf文件合并 pdf文件叠加

python实现pdf文件合并 多个pdf文件合并 pdf文件叠加

时间:2020-09-20 01:42:02

相关推荐

python实现pdf文件合并 多个pdf文件合并 pdf文件叠加

不多说,直接上代码:

# -*- coding:utf-8*-# 请拉到最底下,修改这两个变量# 请修改需要合并的文件的文件夹路径:file_dir# 请修改输出文件名: outfileimport osimport systry:from PyPDF2 import PdfFileReader, PdfFileWriterexcept:os.system("pip install PyPDF2")from PyPDF2 import PdfFileReader, PdfFileWriter# 使用os模块的walk函数,搜索出指定目录下的全部pdf文件# 获取同一目录下的所有pdf文件的绝对路径def get_file_name(file_dir,out_file):file_dir_L = []for root, dirs, files in os.walk(file_dir):for file in files:if os.path.splitext(file)[1] == '.pdf':file_dir_L.append(os.path.join(root, file))if os.path.splitext(file)[0] == out_file.split(".")[0]:print("\n已经存在输出文件:%s 请删除后再运行!!!" % out_file)sys.exit()return file_dir_L# 合并同一目录下的所有pdf文件def merge_pdf(file_path, out_file):output = PdfFileWriter()outputPages = 0pdf_fileName = get_file_name(file_path,out_file)if pdf_fileName:for pdf_file in pdf_fileName:print("正在读取:%s" % pdf_file)# 读取pdf文件pdf_data = PdfFileReader(open(pdf_file, "rb"))# 获得pdf文件中的总页数pageCount = pdf_data.getNumPages()print("增加 %d 页" % pageCount)outputPages += pageCount# 将页面添加到输出中for iPage in range(pageCount):output.addPage(pdf_data.getPage(iPage))print("\n合并后的总页数: %d" % outputPages)# 写入pdf文件outputStream = open(os.path.join(file_path, out_file), "wb")output.write(outputStream)outputStream.close()print("pdf文件合并完成!")else:print("没有可以合并的pdf文件!")# 主函数def main():file_dir = r'D:\Users\DDX\Desktop\test' # 存放pdf的文件夹outfile = "merge.pdf" # 输出的pdf文件的名称merge_pdf(file_dir, outfile)main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。