在處理多個 PDF 檔案時,頻繁地開啟關閉檔案會嚴重影響效率。因此,對於一大堆內容相關的 PDF 檔案,我們可以先將這些 PDF 檔案合併起來再操作,從而提高工作效率。比如,在傳送大量的 PDF 檔案時,在處理同一專案下的多個 PDF 檔案時,或在列印一系列 PDF 檔案時,將檔案合併起來可以減少工作量。本文將分享3種使用 Python 合併 PDF 檔案的實現方法。
Python中合併PDF需要用到 Spire.PDF for Python 庫。 安裝十分簡單,直接使用以下pip命令即可。或者可以下載後再安裝。
pip install Spire.PDF
MergeFiles(List[str]) 方法可以將一個檔案路徑列表對應的所有 PDF 檔案按列表順序合併為一個 PDF 檔案。程式碼如下:
from spire.pdf.common import * from spire.pdf import * import os # 指定資料夾路徑 folder_path = "G:/檔案/" # 遍歷資料夾中的檔案並建立檔案路徑列表 pdf_files = [] for file_name in sorted(os.listdir(folder_path)): if file_name.endswith(".pdf"): file_path = os.path.join(folder_path, file_name) pdf_files.append(file_path) # 合併PDF檔案 pdf = PdfDocument.MergeFiles(pdf_files) # 儲存結果檔案 pdf.Save("output/合併PDF.pdf", FileFormat.PDF) pdf.Close()
AppendPage(PdfDocument) 方法可以在一個 PDF 檔案中插入另一個 PDF 檔案的所有頁面。 具體實現程式碼參考:
from spire.pdf.common import * from spire.pdf import * # 遍歷資料夾中的檔案,載入每個PDF檔案PdfDocument物件並列表 folder_path = "G:/檔案/" pdf_files = [] for file_name in sorted(os.listdir(folder_path)): if file_name.endswith(".pdf"): file_path = os.path.join(folder_path, file_name) pdf_files.append(PdfDocument(file_path)) # 建立一個PdfDocument物件 newPdf = PdfDocument() # 將載入的PDF檔案的頁面插入到新的PDF檔案中 for pdf in pdf_files: newPdf.AppendPage(pdf) # 儲存新的PDF檔案 newPdf.SaveToFile("output/插入頁面合併PDF.pdf")
InsertPage (PdfDocument, pageIndex: int) 方法可以將一個 PDF 檔案的指定頁面插入到另一個 PDF 檔案中。我們可以通過這個方法合併不同 PDF 檔案的指定頁面。
from spire.pdf import * from spire.pdf.common import * # 建立PDF檔案路徑列表 file1 = "範例1.pdf" file2 = "範例2.pdf" file3 = "範例3.pdf" files = [file1, file2, file3] # 載入每個PDF檔案並新增到列表中 pdfs = [] for file in files: pdfs.append(PdfDocument(file)) # 建立一個PdfDocument物件 newPdf = PdfDocument() # 將載入的PDF檔案中選擇的頁面插入到新檔案中 newPdf.InsertPage(pdfs[0], 0) newPdf.InsertPage(pdfs[1], 1) newPdf.InsertPageRange(pdfs[2], 0, 1) # 儲存新的PDF檔案 newPdf.SaveToFile("output/合併不同PDF的指定頁面.pdf")
以上就是關於如何使用 Spire.PDF for Python 合併 PDF 檔案的操作介紹。大家可自行測試,如有問題歡迎反饋討論。
如果想了解更多此第三方Python庫的功能,可前往 Spire.PDF for Python 中文教學。