这是「进击的Coder」的第 568 篇技术分享

作者:Python 进阶者

来源:Python 爬虫与数据挖掘

阅读本文大概需要 3 分钟。

前言

前几天在学习【麦叔】Python 自动化书本中案例的时候,学到了 PDF 文件处理,感觉挺有意思的。正好在【J 哥】的交流群里边有粉丝问了一道关于 PDF 处理的问题。

这个问题如果没有学点 PDF 的处理,一开始看到还是觉得有点困难的,我一开始也有点束手无策。

一、思路

针对这个问题,其实我有三个思路。

第一个思路:将 pdf 文件一进行分割成单独文件,之后和 pdf 文件二进行排序放到一个文件夹下,再统一进行 merge;

第二个思路:尝试用 merge 进行合并,直接插入到文件的指定页面之下,但是我目前对这个用得不是很好,没有弄出来;

第三个思路:逐页进行添加,并保存为新文件。

二、解决方案

针对该问题,这里采用了第三个方法,最为自然,也是三个方法中最简单的一个了。这里需要用到 PDF 的处理库 PyPDF2,这个库需要安装,安装命令:pip install PyPDF2

这个库针对 PDF 的处理来说还是算比较强大的了,可以针对 PDF 文件做拆分、合并、加密和截取等。关于这个库的其他用法,很多公众号也有写,这里就不展开赘述了。

针对这个问题,这里直接上代码了,如下所示:

from PyPDF2 import PdfFileReader, PdfFileWriterpdf_file1 = PdfFileReader("dogs_0.pdf")  # 要插入的pdf文件
pdf_file2 = PdfFileReader("python介绍.pdf")  # 要被插入的目标pdf文件
new_file = PdfFileWriter()# 这里场景是计划将pdf_file1插入到pdf_file2的第3页new_file.addPage(pdf_file2.getPage(0))
new_file.addPage(pdf_file2.getPage(1))
new_file.addPage(pdf_file1.getPage(0))
new_file.addPage(pdf_file2.getPage(2))# 写入文件
with open("merged_file.pdf", "wb") as f:new_file.write(f)

关键的地方都有注释进行标注了,如果你需要插入的 pdf 原始文件页面太多的话,可以考虑循环遍历追加,这样就不至于写很多行代码了。

三、总结

我是 Python 进阶者。本文基于实际过程中遇到的 PDF 文件拆分和合并问题,使用了 PyPDF2 第三方库来帮助解决,这个库可以针对 PDF 文件做拆分、合并、加密和截取等,功能强大,帮助自己和大家加深对该库用法的认识。

最后感谢粉丝【ᝰડⅈꪶꦍꪀᥴ꧖ꦿ】提问,感谢【麦叔】、【南京-工业4.0-MrChen】大佬给出的资料和方法。

这个问题肯定小编相信肯定还有其他的方法的,也欢迎大家在评论区留言。

End

崔庆才的新书《Python3网络爬虫开发实战(第二版)》已经正式上市了!书中详细介绍了零基础用 Python 开发爬虫的各方面知识,同时相比第一版新增了 JavaScript 逆向、Android 逆向、异步爬虫、深度学习、Kubernetes 相关内容,‍同时本书已经获得 Python 之父 Guido 的推荐,目前本书正在七折促销中!

内容介绍:《Python3网络爬虫开发实战(第二版)》内容介绍

扫码购买

好文和朋友一起看~

怎么在第一个 PDF 文件的中间,插入第二个 PDF 文件的内容?相关推荐

  1. 怎么在第一个PDF文件的中间,插入第二个PDF文件的内容?

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 昨夜裙带解,今朝蟢子飞. 大家好, ...

  2. python科学计算基础教程pdf下载-python科学计算 第二版 PDF 下载

    相关截图: 资料简介: 本书详细介绍Python科学计算中最常用的扩展库NumPy.SciPy.matplotlib.Pandas.SymPy.TTK.Mayavi.OpenCV.Cython,涉及数 ...

  3. JAVA NIO文件映射、通道、流读写文件示例

    本例使用FileChannel和 BufferedInputStream等测试对比. TestHandler.java 用于实现动态代理,测试运行效率 package com.test;import ...

  4. PDF文件中如何插入页面?分享一个实用小妙招

    怎么在PDF文件中插入页面呢?大家在将一份PDF文件制作好时,在浏览检查的时候发现文件中缺少一页或者是几页的内容,想要把这部分的内容添加上去该怎么做呢?有的小伙伴会选择重新做一份PDF文件,但这样会耗 ...

  5. PDF合并:如何将两个PDF文件合并成一个PDF文件

    PDF文件是我们在工作中经常能够用到的文件,尤其是在办公中会遇到很多PDF文件在传输的过程中为了传输更快被拆分成了几个PDF文件,但是要找一个完整的PDF文件就需要把两个被拆分的PDF文件合并成一个P ...

  6. drawboard pdf拆分文件_电脑在线如何分割PDF页面?免费分割3M以内PDF文件页面的简单方法...

    PDF现在真的是一个比较常用的文件格式,兼容性比较好.PDF文件可以保证打印或发送给对方的时候,排版等格式不会变.现在也有很多相关的PDF功能,供我们选择.但是我们不用下载安装也行,电脑直接在线操作也 ...

  7. 使用pdf.js预览实现读取服务器外部文件

    不知道大家使用百度网盘的文件预览功能,f12看过控制台没有. 发现百度网盘使用的预览文件功能全是基于开源pdf .js的 接下来正题,我们在使用pdf.js默认是读取发布容器内部的文件,读取外部的文件 ...

  8. c++编辑器_盘点四款PDF编辑器,使用它们,编辑PDF文件没问题!

    原标题:盘点四款PDF编辑器,使用它们,编辑PDF文件没问题! 在我们日常学习和日常工作中,我们有时会遇见将PDF文件进行编辑的问题.有时候是添加图片,插入文字,有时候是拆分PDF,修改PDF文件. ...

  9. 详细说明通过kettke对csv文件转换的操作步骤_如何将多页面pdf分割成一页一页的PDF文件...

    经常会有小伙伴问我,如何将多页面的PDF文件拆分成一个个的PDF文件?例如有5个页面的PDF文件,一次性拆分导出生成5个单页面的PDF文件? PDF文件是我们日常工作学习中经常要用到的,有时候PDF文 ...

最新文章

  1. JavaScript深入理解对象方法——Object.assign()
  2. Codeforces Round #167 (Div. 1) C. Dima and Horses(BFS+贪心)
  3. 一些python函数及其用法
  4. python学习中遇到的问题
  5. html.textboxfor属性,label标签中的for属性与form属性
  6. 大规模网站sesson会话保持思路及实践配置
  7. c ++结构体构造函数_C ++中的构造函数
  8. 2021-09-13Top-N 推荐系统,通常指的是个性化推荐系统,有别于热门推荐。
  9. 我的世界服务器雪球菜单无限雪球,命令方块实现雪球菜单玩家互传功能
  10. python 结构体数组的正确初始化方法
  11. CAJ 文件转换为 PDF 文件
  12. catboost介绍
  13. 安装linux播放器mplayer,smplayer
  14. 如何查看你的公网ip?
  15. 如何查看本机是否支持IPv6?
  16. Linux主机之间配置免密登录
  17. 测试项目经理推荐的Java 并发测试神器
  18. C++面试题大华/网顺总结
  19. opencv获得相机的最大分辨率
  20. android usb摄像头 抓取一张图片 yuv格式 yuyv(yuy2)

热门文章

  1. UE4 Decal 贴花不在静态光照下绘制
  2. 元宇宙虚拟人物风格形象应用场景制作
  3. 优化-处理大量定时任务的思路
  4. GTC 2020:开发者谈NS版《巫师3》移植
  5. 作业5 - 团队展示
  6. [HCIP]MPLS解决路由黑洞
  7. 【计算机网络】学习笔记
  8. 链塔智库|区块链产业要闻及动态周报(2021年8月第3周)
  9. 华芯超算技术负责人分享分布式存储技术核心
  10. 计算机二级office无法评分,计算机二级OFFICE评分标准