怎麼在第一個PDF檔案的中間,插入第二個PDF檔案的內容?

語言: CN / TW / HK

一、思路
針對這個問題,其實我有三個思路。

第一個思路:將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 程式設計學習圈,每日干貨分享