Python合并pdf文件的工具

PDF文件合并工具是非常好用可以把多个pdf文件合并成一个,本文以5个pdf文件为例给大家分享具体操作方法,通过实例代码给大家介绍的非常详细,需要的朋友参考下吧

  如果你需要一个PDF文件合并工具,那么本文章完全可以满足您的要求。哈喽,大家好呀,这里是滑稽研究所。不多废话,本期我们利用Python合并把多个pdf文件合并为一个。我们提前准备了5个pdf文件,来验证代码

  代码

import os from PyPDF2 import PdfFileReader, PdfFileWriter # 使用os模块的walk函数搜索出指定目录下的全部PDF文件 # 获取同一目录下的所有PDF文件绝对路径 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 [] # 合并同一目录下的所有PDF文件 def MergePDF(filepath, outfile): output = PdfFileWriter() outputPages = 0 pdf_fileName = getFileName(filepath) if pdf_fileName: for pdf_file in pdf_fileName: print("路径:%s"%pdf_file) # 读取源PDF文件 input = PdfFileReader(open(pdf_file, "rb")) # 获得源PDF文件页面总数 pageCount = input.getNumPages() outputPages += pageCount print("页数:%d"%pageCount) # 分别将page添加输出output中 for iPage in range(pageCount): output.addPage(input.getPage(iPage)) print("合并后的总页数:%d."%outputPages) # 写入到目标PDF文件 outputStream = open(os.path.join(filepath, outfile), "wb") output.write(outputStream) outputStream.close() print("PDF文件合并完成!") else: print("没有可以合并的PDF文件!") # 主函数 def main(): file_dir = input('请输入存有Pdf的文件夹').replace('/','//')# 存放PDF的原文件夹 outfile = "pick_me.pdf" # 输出的PDF文件名称 MergePDF(file_dir, outfile) print('done') main()

  可以看到5个PDF文件合并到了一起,那么到这里就结束了吗?当然不是,代码运行遇到PDF文件文件格式较多时,比如多图,word格式等,会出现以下报错。

  最后一行报错的意思为:

PyPDF2。utils.PdfReadError:对于键/Im82,字典中字节0xc0161处有多个定义

  通俗一点就是说遇到了一个多义词,程序不知道该取哪个意思了。我们点进pdf.py文件里,找到下图位置。

  严格模式认是打开的,我们改成False。

构造方法

PyPDF2.PdfFileReader(stream,strict = True,warndest = None,overwriteWarnings = True)

stream:File 对象或支持与 File 对象类似的标准读取和查找方法的对象,也可以是表示 PDF 文件路径的字符串。

strict(bool):确定是否应该警告用户所用的问题,也导致一些可纠正的问题是致命的,认是 True

warndest : 记录警告的目标(认是 sys.stderr)

overwriteWarnings(bool):确定是否 warnings.py 用自定义实现覆盖 Python 模块(认为 True)

  我们重新运行程序.

  打开文件夹,可以看到我们的文件已经合并好了,打开之后的格式也是没有错误的。

  那么,问题解决

  如果你只是需要应该PDF合并工具代码直接拿走用即可,如果你想学习PyPDF2这个实用的库,并且希望对这段代码进行改进来适配自己的情况

到此这篇关于Python合并pdf文件文章就介绍到这了,更多相关Python合并pdf文件内容搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...