Python合并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 = 0pdf_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 += pageCountprint("页数:%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这个实用的库,并且希望对这段代码进行改进来适配自己的情况,请移步公众号,里面同名文章里赋带pypdf2这个库的视频讲解,用的是官方文档,通俗易懂包学包会。
在文末感谢大家最近的支持。
转载自:滑稽研究所
相关文章,请关注我们吧!
Python合并pdf文件相关推荐
- 使用python合并pdf文件带书签
1.需求: 将几本纸质书进行了扫描,可是扫描的每页生成一个pdf文件.需要怎么才能把这些pdf文件合成一个呢?adoba acrobat工具支持,可是收费.我们平时用的都是adoba reader,只 ...
- python合并pdf文件并生成页面
1. 环境搭建 # python 版本 3.9.7 # 依赖包 reportlab==3.6.9,PyPdf2==1.27.3,pikepdf==3.0.8,pyinstaller==4.10 2.功 ...
- python合并pdf 加书签_使用Python批量合并PDF文件(带书签功能)
1 #!/usr/bin/env python3 2 #-*- coding: utf-8 -*- 3 ''' 4 #文件名:pdfmerge.py5 本脚本用来合并pdf文件,输出的pdf文件按输入 ...
- python数学公式pdf文件的转换_python转换文件 多种文件转换为pdf
1.office文件 这里用的是win32com, 需要注意已经安装的python版本是32位还是64位. 安装后导入 from win32com.client import Dispatch, co ...
- 利用Python提取PDF文件中的文本信息
如何利用Python提取PDF文件中的文本信息 日常工作中我们经常会用到pdf格式的文件,大多数情况下是浏览或者编辑pdf信息,但有时候需要提取pdf中的文本,如果是单个文件的话还可以通过复制粘贴来直 ...
- python 搜索 PDF文件 内容
我想做个小东东,需要读取pdf文件的文本内容,然后搜索某个关键词,返回这个关键词所在的页的页码,折腾我好几天了.首先看上了pypdf,啃了半天 洋文,发现这东西只能分割合并pdf文件,读取pdf文件的 ...
- 8、【办公自动化】Python实现PDF文件的批量操作
说明 平时工作中,经常会和 PDF 文件打交道,比如,合并.拆分.加解密.添加和去除水印.提取指定内容.转换成其他文件格式等操作.如果只是处理单个 PDF 文件的话,有些操作是比较简单的,而如果需要批 ...
- 【word2vec】python读取pdf文件,通过词向量寻找相关词语
1. 什么是Word2vec 对于自然语音处理而言,首先要做的就是将文字转换为计算机能看懂的数字,也就是说,将词语进行数字化. (1)one-hot编码,比较常用的一种编码方式,又叫独热编码. 对于一 ...
- python 操作PDF文件 之 A3页面转A4
python 操作PDF文件 A3页面转A4页面 文章目录 1. 需求概述 2. 代码实现 1. 需求概述 最近接到一份PDF资料需要打印,奈何页面是如图所示的A3格式的,奈何目前条件只支持打印A4. ...
- PyPDF2:使用Python操作PDF文件
诸神缄默不语-个人CSDN博文目录 PDF是文档常用格式,使用Python包PyPDF2可以对PDF文档实现批量.迅速的操作,包括提取文字.切分或合并PDF文件.创建annotation.加密和解密等 ...
最新文章
- io.h源码 检查文件是否存在
- express 设置跨域
- 初创互联网公司简明创业指南 - YC新掌门Sam Altman
- hisi mmz内存管理
- [BUUCTF-pwn]——ciscn_2019_c_1
- keyloadtool_phoenix 利用CsvBulkLoadTool 批量带入数据并自动创建索引
- 建议检察院服务器服务器配置 显示器,切换器 键鼠
- php管理员权限表,权限表的建立
- winform(C#)拖拽实现获得文件路径
- 威纶触摸屏与电脑连接_威纶通TK6070IP触摸屏下载线MT6071IE触摸屏编程线连接电脑USB线...
- dell台式机进入安全模式_Dell电脑怎么进入安全模式
- 新版标准日本语初级_第三十九课
- win10 计算机管理器没有ime,Win10电脑右下角提示“已禁用IME”的6种解决方法
- 解决调用wx.downLoadFile下载的文件名乱码(长串英文字符)问题
- 电脑使用技巧提升篇9:使用360压缩软件文件加密
- qlib平台实现可转债“双低”策略
- 秦纪一 昭襄王五十二年(丙午、前255)——摘要
- Feflow建模步骤及注意事项
- CATIA Composer三维作业指导书
- 和海王一起从零刷题之(3):原地移除元素
热门文章
- Team Foundation Server 2013 with Update 3 Install LOG
- python爬虫 微信公众号模拟登陆js解密
- ttest求pvalue_TTEST 在EXCEL计算出的结果是t还是p值
- 3月8号女神节不知道送什么?python告诉你~(祝小仙女们节日快乐~)
- matlab 音乐 豆腐汤,40岁健康家常菜pdf
- AD19 绘制PCB操作流程笔记
- 稳定性及性能调优<二十四>-------性能优化3【页面加载耗时优化实战、页面滑动流畅度FPS优化实战】
- 嵌入式中的人工神经网络
- 网络流量在线分析系统的设计与实现
- 梦幻服务器最新开服时间,梦幻服务器开区及合服时间汇总查询(2)