怎么在第一個 PDF 文件的中間,插入第二個 PDF 文件的內(nèi)容?
↑ 關注 + 星標 ,每天學Python新技能
后臺回復【大禮包】送你Python自學大禮包
前言
前幾天在學習【麥叔】Python 自動化書本中案例的時候,學到了 PDF 文件處理,感覺挺有意思的。正好在【J 哥】的交流群里邊有粉絲問了一道關于 PDF 處理的問題。
這個問題如果沒有學點 PDF 的處理,一開始看到還是覺得有點困難的,我一開始也有點束手無策。
一、思路
針對這個問題,其實我有三個思路。
第一個思路:將 pdf 文件一進行分割成單獨文件,之后和 pdf 文件二進行排序放到一個文件夾下,再統(tǒng)一進行 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 原始文件頁面太多的話,可以考慮循環(huán)遍歷追加,這樣就不至于寫很多行代碼了。

三、總結
我是 Python 進階者。本文基于實際過程中遇到的 PDF 文件拆分和合并問題,使用了 PyPDF2 第三方庫來幫助解決,這個庫可以針對 PDF 文件做拆分、合并、加密和截取等,功能強大,幫助自己和大家加深對該庫用法的認識。
推薦閱讀
您看此文用 ![]()
分
![]()
秒,轉發(fā)只需1秒哦
評論
圖片
表情

分
秒,轉發(fā)只需1秒哦