怎么在第一个PDF文件的中间,插入第二个PDF文件的内容?
共 1573字,需浏览 4分钟
·
2022-02-06 16:15
点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
昨夜裙带解,今朝蟢子飞。大家好,我是Python进阶者。
前言
前几天在学习【麦叔】Python自动化书本中案例的时候,学到了PDF文件处理,感觉挺有意思的。正好在【J哥】的交流群里边有粉丝问了一道关于PDF处理的问题。
这个问题如果没有学点PDF的处理,一开始看到还是觉得有点困难的,我一开始也有点束手无策。
一、思路
针对这个问题,其实我有三个思路。
第一个思路:将pdf文件一进行分割成单独文件,之后和pdf文件二进行排序放到一个文件夹下,再统一进行merge;
第二个思路:尝试用merge进行合并,直接插入到文件的指定页面之下,但是我目前对这个用的不是很好,没有弄出来;
第三个思路:逐页进行添加,并保存为新文件。
二、解决方案
针对该问题,这里采用了第三个方法,最为自然,也是三个方法中最简单的一个了。这里需要用到PDF的处理库PyPDF2,这个库需要安装,安装命令:pip install PyPDF2
这个库针对PDF的处理来说还是算比较强大的了,可以针对PDF文件做拆分、合并、加密和截取等。关于这个库的其他用法,很多公众号也有写,这里就不展开赘述了。
针对这个问题,这里直接上代码了,如下所示:
from PyPDF2 import PdfFileReader, PdfFileWriter
pdf_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】大佬给出的资料和方法。
需要本文代码中提及的文件,可以加我好友,私我获取。
这个问题肯定小编相信肯定还有其他的方法的,也欢迎大家在评论区谏言。
![047cc6b7e9ff5fac9109f1df3ad95ea3.webp](https://filescdn.proginn.com/f8c1fd56e292f4ce5d3c174f6fac169f/047cc6b7e9ff5fac9109f1df3ad95ea3.webp)
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
![cc9b979c51e2e3a29a2d8a732762f75d.webp](https://filescdn.proginn.com/52894228c6585962fe3895632f566236/cc9b979c51e2e3a29a2d8a732762f75d.webp)
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~