怎麼在第一個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 程式設計學習圈,每日干貨分享
「其他文章」
- 誰說程式設計師不懂浪漫,當代碼遇到文學..
- Python 為什麼沒有 void 關鍵字?
- 程式語言中分號“;”的簡明歷史
- Python 什麼情況下會生成 pyc 檔案?
- 函式和方法的裝飾器
- Python 任務自動化工具:nox 的配置與 API
- 你可能不知道的 Python 技巧
- 進一步學習 nox 教程,輕鬆掌握命令列用法
- Python 中更優雅的日誌記錄方案
- 更好用的 Python 任務自動化工具:nox 官方教程
- 如何使用 Python 操作 Git 程式碼?GitPython 入門介紹
- Python 海象運算子 (:=) 的三種用法
- 如何利用現有加密方案保護你的 Python 程式碼
- Python 為什麼要保留顯式的 self ?
- Python 浮點數的冷知識
- Python 記憶體分配時的小祕密
- 如何通過測試提升 Python 程式碼的健壯性
- 推薦5個超級實用的 Python 模組,不知道就out啦!
- Python 中幾種屬性訪問的區別
- Python 之父新發文,將替換現有解析器