有的时候有剪裁PDF的需求,虽然有软件实现了这样的功能,但有时候会遇到这种情况

既然如此,为何不自己实现这个功能呢?上代码

# 导入读写pdf模块
from PyPDF2 import PdfFileReader, PdfFileWriter
'''
注意:
页数从0开始索引
range()是左闭右开区间
'''def split_pdf(file_name, start_page, end_page, output_pdf):''':param file_name:待分割的pdf文件名:param start_page: 执行分割的开始页数:param end_page: 执行分割的结束位页数:param output_pdf: 保存切割后的文件名'''# 读取待分割的pdf文件input_file = PdfFileReader(open(file_name, 'rb'))# 实例一个 PDF文件编写器output_file = PdfFileWriter()# 把分割的文件添加在一起for i in range(start_page, end_page):output_file.addPage(input_file.getPage(i))# 将分割的文件输出保存with open(output_pdf, 'wb') as f:output_file.write(f)def merge_pdf(merge_list, output_pdf):"""merge_list: 需要合并的pdf列表output_pdf:合并之后的pdf名"""# 实例一个 PDF文件编写器output = PdfFileWriter()for ml in merge_list:pdf_input = PdfFileReader(open(ml, 'rb'))page_count = pdf_input.getNumPages()for i in range(page_count):output.addPage(pdf_input.getPage(i))output.write(open(output_pdf, 'wb'))if __name__ == '__main__':# 分割pdfsplit_pdf("test.pdf", 0, 3, "0-2.pdf")split_pdf("test.pdf", 7, 12, "7-11.pdf")split_pdf("test.pdf", 18, 23, "18-22.pdf")split_pdf("test.pdf", 27, 33, "26-32.pdf")split_pdf("test.pdf", 40, 44, "40-43.pdf")split_pdf("test.pdf", 46, 51, "46-50.pdf")split_pdf("test.pdf", 58, 66, "58-65.pdf")split_pdf("test.pdf", 77, 84, "77-83.pdf")split_pdf("test.pdf", 93, 97, "93-96.pdf")split_pdf("test.pdf", 102, 106, "102-105.pdf")# 合并pdf# 合并的pdf列表pdf_list = ["0-2.pdf", "7-11.pdf", "18-22.pdf", "26-32.pdf", "40-43.pdf", "46-50.pdf", "58-65.pdf", "77-83.pdf", "93-96.pdf", "102-105.pdf"]merge_pdf(pdf_list, "all.pdf")

当然上面的代码一开始不能直接运行,但不要着急,参照参考资料中的报错链接将问题解决,就可以运行了。

参考资料:

报错:

https://blog.csdn.net/kmesky/article/details/102695520

代码:

https://blog.csdn.net/wnma3mz/article/details/78823195


往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑
获取本站知识星球优惠券,复制链接直接打开:
https://t.zsxq.com/qFiUFMV
本站qq群704220115。加入微信群请扫码:

【Python】用Python实现PDF文件分割和合并相关推荐

  1. python使用fpdf创建pdf文件包含:页眉、页脚并嵌入logo图片、设置使用中文字体

    python使用fpdf创建pdf文件包含:页眉.页脚并嵌入logo图片.设置使用中文字体 #python使用fpdf创建页眉.页脚并嵌入logo图片.设置使用中文字体 from fpdf impor ...

  2. python使用fpdf生成pdf文件章节(chapter),包含:页眉、页脚、章节主题、数据排版等;

    python使用fpdf生成pdf文件章节(chapter),包含:页眉.页脚.章节主题.数据排版等: #仿真数据 The year 1866 was marked by a bizarre deve ...

  3. python使用fpdf生成pdf文件:配置多种语言字体写入多种文字

    python使用fpdf生成pdf文件:配置多种语言字体写入多种文字 目录

  4. python处理pdf文件_好玩的Python 篇一:用Python显示和处理PDF文件

    好玩的Python 篇一:用Python显示和处理PDF文件 2020-05-25 00:20:30 0点赞 0收藏 0评论 pdf是电子书,文档经常会用的格式,除了下载各种阅读器以外,我们也可以用P ...

  5. python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...

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

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

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

  7. Python使用pdfminer3k提取PDF文件中的文本

    推荐教材: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年12月第11次印刷,山东省一流 ...

  8. Python自动化办公【PDF文件自动化】

    PDF 文件可以分为可编辑型PDF 文件与扫描型PDF 文件,内容可以复制,是可编辑型PDF文件,反之则是扫描型PDF 文件.简单理解扫描型PDF文件是由一张张图像构建而成. 读取PDF文件内容 1. ...

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

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

最新文章

  1. 2021-2027全球与中国跨临界二氧化碳系统市场现状及未来发展趋势报告
  2. 【动态规划】最小代价问题
  3. Python | 字符串isdecimal(),isdigit(),isnumeric()和Methods之间的区别
  4. oracle rac 高并发性能_Tomcat 高并发之道原理拆解与性能调优
  5. Server.MapPath方法的应用方法(转)
  6. [zz]Win8应用商店管理小工具
  7. 最新PHP扩展SG11解密教程分享+视频模式
  8. 【数据库】数据库的锁机制及原理
  9. 【常用模块】HC-05蓝牙串口通信模块使用详解(实例:手机蓝牙控制STM32单片机)
  10. 2020年日历_2020年日历全年表
  11. 利用checked实现收藏按钮红心的显示与隐藏
  12. cmdb 指南_无限供应商制造商指南
  13. django 框架模型之models常用的Field,这些Field的参数、及常见错误原因及处理方案。
  14. python-重难点知识汇总
  15. win7查看隐藏文件夹
  16. 废物的靶场日记 hackthebox-Paper
  17. ASCII码对照表(转载)
  18. 关闭浏览器后退出登录_升级后的相互宝要不要退出?相互宝怎么关闭?
  19. js变量的重复声明问题总结
  20. HBuilderX安装使用教程

热门文章

  1. 各种框架实现了经典的 todo 应用
  2. Python 中的匿名函数,你滥用了吗?
  3. 京东2019春招Java工程师编程题题解
  4. 【整洁之道】如何写出更整洁的代码(上)
  5. Js 变量声明提升和函数声明提升
  6. Linux系统的压缩技术
  7. 大小端模式 判断方法
  8. HDU 1518 Square
  9. JS常用的设计模式(7)—— 外观模式
  10. Bellman 算法实现