背景

由于工作原因,经常需要将多个pdf文件合并后打印,有时候上网找免费合并工具比较麻烦(公司内网不能访问公网),于是决定搞个小工具。

具体实现

需要安装 PyPDF2

  1. pip install PyPDF2

代码

  1. # -*- coding=utf-8 -*-
  2. """
  3. 功能: 将当前目录下的所有pdf文件合并为一个文件,新文件命名为 all_merge_年月日_时分秒.pdf
  4. 被合并的pdf文件不包含 all_merge 开头的文件
  5. """
  6. import PyPDF2
  7. import pathlib
  8. import datetime
  9. def do_merge(the_dir):
  10. prefix = 'all_merge'
  11. output_file = '%s_%s.pdf' % (prefix, datetime.datetime.now().strftime('%Y%m%d_%H%M%S'))
  12. pdf_files = []
  13. path_dir = pathlib.Path(the_dir)
  14. for filename in path_dir.iterdir():
  15. if not filename.is_file():
  16. continue
  17. if filename.name[0:len(prefix)] == prefix:
  18. continue
  19. elif filename.name.endswith('.pdf'):
  20. pdf_files.append(filename.name)
  21. pdf_files.sort(key=str.lower)
  22. pdf_writer = PyPDF2.PdfFileWriter()
  23. print("find %d pdf file(s)." % len(pdf_files))
  24. idx = 0
  25. for f in pdf_files:
  26. idx += 1
  27. print("%d: %s" % (idx, f))
  28. pdf_obj = open(f, 'rb')
  29. pdf_reader = PyPDF2.PdfFileReader(pdf_obj)
  30. for page_num in range(0, pdf_reader.numPages):
  31. page_obj = pdf_reader.getPage(page_num)
  32. pdf_writer.addPage(page_obj)
  33. pdf_output = open(output_file, 'wb')
  34. pdf_writer.write(pdf_output)
  35. pdf_output.close()
  36. print("merge file:[ %s ]" % output_file)
  37. input("Press any key to exit.")
  38. if __name__ == "__main__":
  39. do_merge(".")

效果

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理

想要获取更多Python学习资料可以加
QQ:2955637827私聊
或加Q群630390733
大家一起来学习讨论吧!

Python实现多个pdf文件合并的更多相关文章

  1. 【转】Python编程: 多个PDF文件合并以及网页上自动下载PDF文件

    1. 多个PDF文件合并1.1 需求描述有时候,我们下载了多个PDF文件, 但希望能把它们合并成一个PDF文件.例如:你下载的数个PDF文件资料或者电子发票,你可以使用python程序合并成一个PDF ...

  2. 利用Python将多个PDF文件合并

    from PyPDF2 import PdfFileMerger import os files = os.listdir()#列出目录中的所有文件 merger = PdfFileMerger() ...

  3. 深入学习Python解析并解密PDF文件内容的方法

    前面学习了解析PDF文档,并写入文档的知识,那篇文章的名字为深入学习Python解析并读取PDF文件内容的方法. 链接如下:https://www.cnblogs.com/wj-1314/p/9429 ...

  4. 如何将两个PDF文件合并到一个页面中

    在目前职场办公中,很多使用的文件格式是PDF文件格式,由于工作的需要,经常需要将PDF文件合并在一起,但由于PDF文件不能直接编辑修改,不能OFFICE,WPS那样,通过复制粘贴将两者合并,那如何解决 ...

  5. 深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  6. python转换html到pdf文件

    1.安装wkhtmltopdf Windows平台直接在 http://wkhtmltopdf.org/downloads.html 下载稳定版的 wkhtmltopdf 进行安装,安装完成之后把该程 ...

  7. 【转】Python 深入浅出 - PyPDF2 处理 PDF 文件

    实际应用中,可能会涉及处理 pdf 文件,PyPDF2 就是这样一个库,使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作. 文档地址:http://pythonhosted ...

  8. 利用python第三方库提取PDF文件的表格内容

    小爬最近接到一个棘手任务:需要提取手机话费电子发票PDF文件中的数据.接到这个任务的第一时间,小爬决定搜集各个地区各个时间段的电子发票文件,看看其中的差异点.粗略统计下来,PDF文件的表格框架是统一的 ...

  9. 办公室文员必备python神器,将PDF文件表格转换成excel表格!

    [阅读全文] 第三方库说明 # PDF读取第三方库 import pdfplumber # DataFrame 数据结果处理 import pandas as pd 初始化DataFrame数据对象 ...

随机推荐

  1. 「CEOI2013」Board

    description 洛谷P5513 solution 用一个二进制数维护这个节点所处的位置,那么"1"操作就是这个数\(*2\),"2"操作就是这个数\(* ...

  2. JUC并发工具包之Semaphore

    目录 Semaphore (JDK) Timed Semaphore (Apache Commons) Semaphore vs. Mutex CodeRepo Semaphore (JDK) 我们使 ...

  3. 用大白话讲大数据HBase,老刘真的很用心(1)

    老刘今天复习HBase知识发现很多资料都没有把概念说清楚,有很多专业名词一笔带过没有解释.比如这个框架高性能.高可用,那什么是高性能高可用?怎么实现的高性能高可用?没说! 如果面试官听了你说的,会有什 ...

  4. nginx负载均衡配置详解

    已经了解了负载均衡的常用算法:轮询,加权轮询,热备等... 接下来就看看具体怎么配置. upstream配置是写一组被代理的服务器地址,然后配置负载均衡的算法. upstream mysvr{ ser ...

  5. sharding事务。

    我们这么操作: 本地事务,但是会发现如果有异常两边都回滚了.看代码如下: rollback看一看: cachedConnections中缓存了2个connection. 对于每个connection调 ...

  6. LaTeX的字体字号设置

    字体属性: 字体族代码及注释: 显示效果: 字体系列设置及字体形状设置代码及注释: 显示效果: 字体大小及中文字号的设置代码及注释: 显示效果: ctex文档有关中文字号的排版: ctex文档的打开方 ...

  7. C++-codeblocks安装

    2020-02-15 "Test_leetcode - Debug": The compiler's setup (GNU GCC Compiler) is invalid, so ...

  8. 了不起的 Deno:带你极速获取各大平台今日热榜

    摘要:Deno 是一个 JavaScript/TypeScript 的运行时,默认使用安全环境执行代码,有着卓越的开发体验. 有人的地方就有江湖,有江湖的地方就有争论.前些天,继<[译]为什么如 ...

  9. 20200506_centos7.2配置IP地址

    1. 通过ip addr命令查看网卡 2. cd到/etc/sysconfig/network-scripts/查看网卡, 一般都是第一个文件 3. 使用vi(vim)编辑它, 如果提示这个文件是只读 ...

  10. 老猿学5G专栏文章目录

    ☞ ░ 前往老猿Python博文目录 ░ 一.3GPP规范文档及其他推荐阅读博文 老猿学5G扫盲贴:3GPP规范文档命名规则及同系列文档阅读指南 老猿学5G扫盲贴:3GPP规范中部分与计费相关的规范序 ...