如果你需要一个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文件相关推荐

  1. 使用python合并pdf文件带书签

    1.需求: 将几本纸质书进行了扫描,可是扫描的每页生成一个pdf文件.需要怎么才能把这些pdf文件合成一个呢?adoba acrobat工具支持,可是收费.我们平时用的都是adoba reader,只 ...

  2. python合并pdf文件并生成页面

    1. 环境搭建 # python 版本 3.9.7 # 依赖包 reportlab==3.6.9,PyPdf2==1.27.3,pikepdf==3.0.8,pyinstaller==4.10 2.功 ...

  3. python合并pdf 加书签_使用Python批量合并PDF文件(带书签功能)

    1 #!/usr/bin/env python3 2 #-*- coding: utf-8 -*- 3 ''' 4 #文件名:pdfmerge.py5 本脚本用来合并pdf文件,输出的pdf文件按输入 ...

  4. python数学公式pdf文件的转换_python转换文件 多种文件转换为pdf

    1.office文件 这里用的是win32com, 需要注意已经安装的python版本是32位还是64位. 安装后导入 from win32com.client import Dispatch, co ...

  5. 利用Python提取PDF文件中的文本信息

    如何利用Python提取PDF文件中的文本信息 日常工作中我们经常会用到pdf格式的文件,大多数情况下是浏览或者编辑pdf信息,但有时候需要提取pdf中的文本,如果是单个文件的话还可以通过复制粘贴来直 ...

  6. python 搜索 PDF文件 内容

    我想做个小东东,需要读取pdf文件的文本内容,然后搜索某个关键词,返回这个关键词所在的页的页码,折腾我好几天了.首先看上了pypdf,啃了半天 洋文,发现这东西只能分割合并pdf文件,读取pdf文件的 ...

  7. 8、【办公自动化】Python实现PDF文件的批量操作

    说明 平时工作中,经常会和 PDF 文件打交道,比如,合并.拆分.加解密.添加和去除水印.提取指定内容.转换成其他文件格式等操作.如果只是处理单个 PDF 文件的话,有些操作是比较简单的,而如果需要批 ...

  8. 【word2vec】python读取pdf文件,通过词向量寻找相关词语

    1. 什么是Word2vec 对于自然语音处理而言,首先要做的就是将文字转换为计算机能看懂的数字,也就是说,将词语进行数字化. (1)one-hot编码,比较常用的一种编码方式,又叫独热编码. 对于一 ...

  9. python 操作PDF文件 之 A3页面转A4

    python 操作PDF文件 A3页面转A4页面 文章目录 1. 需求概述 2. 代码实现 1. 需求概述 最近接到一份PDF资料需要打印,奈何页面是如图所示的A3格式的,奈何目前条件只支持打印A4. ...

  10. PyPDF2:使用Python操作PDF文件

    诸神缄默不语-个人CSDN博文目录 PDF是文档常用格式,使用Python包PyPDF2可以对PDF文档实现批量.迅速的操作,包括提取文字.切分或合并PDF文件.创建annotation.加密和解密等 ...

最新文章

  1. io.h源码 检查文件是否存在
  2. express 设置跨域
  3. 初创互联网公司简明创业指南 - YC新掌门Sam Altman
  4. hisi mmz内存管理
  5. [BUUCTF-pwn]——ciscn_2019_c_1
  6. keyloadtool_phoenix 利用CsvBulkLoadTool 批量带入数据并自动创建索引
  7. 建议检察院服务器服务器配置 显示器,切换器 键鼠
  8. php管理员权限表,权限表的建立
  9. winform(C#)拖拽实现获得文件路径
  10. 威纶触摸屏与电脑连接_威纶通TK6070IP触摸屏下载线MT6071IE触摸屏编程线连接电脑USB线...
  11. dell台式机进入安全模式_Dell电脑怎么进入安全模式
  12. 新版标准日本语初级_第三十九课
  13. win10 计算机管理器没有ime,Win10电脑右下角提示“已禁用IME”的6种解决方法
  14. 解决调用wx.downLoadFile下载的文件名乱码(长串英文字符)问题
  15. 电脑使用技巧提升篇9:使用360压缩软件文件加密
  16. qlib平台实现可转债“双低”策略
  17. 秦纪一 昭襄王五十二年(丙午、前255)——摘要
  18. Feflow建模步骤及注意事项
  19. CATIA Composer三维作业指导书
  20. 和海王一起从零刷题之(3):原地移除元素

热门文章

  1. Team Foundation Server 2013 with Update 3 Install LOG
  2. python爬虫 微信公众号模拟登陆js解密
  3. ttest求pvalue_TTEST 在EXCEL计算出的结果是t还是p值
  4. 3月8号女神节不知道送什么?python告诉你~(祝小仙女们节日快乐~)
  5. matlab 音乐 豆腐汤,40岁健康家常菜pdf
  6. AD19 绘制PCB操作流程笔记
  7. 稳定性及性能调优<二十四>-------性能优化3【页面加载耗时优化实战、页面滑动流畅度FPS优化实战】
  8. 嵌入式中的人工神经网络
  9. 网络流量在线分析系统的设计与实现
  10. 梦幻服务器最新开服时间,梦幻服务器开区及合服时间汇总查询(2)