Python實(shí)現(xiàn)合并PDF文件的三種方式
在處理多個(gè) PDF 文檔時(shí),頻繁地打開關(guān)閉文件會(huì)嚴(yán)重影響效率。因此,對(duì)于一大堆內(nèi)容相關(guān)的 PDF 文件,我們可以先將這些 PDF 文件合并起來再操作,從而提高工作效率。比如,在傳送大量的 PDF 文檔時(shí),在處理同一項(xiàng)目下的多個(gè) PDF 文檔時(shí),或在打印一系列 PDF 文檔時(shí),將文檔合并起來可以減少工作量。本文將分享3種使用 Python 合并 PDF 文件的實(shí)現(xiàn)方法。
安裝
Python中合并PDF需要用到 Spire.PDF for Python 庫。 安裝十分簡單,直接使用以下pip命令即可?;蛘呖梢?a rel="external nofollow" target="_blank">下載后再安裝。
pip install Spire.PDF
方法1:通過 MergeFiles () 直接合并 PDF 文件
MergeFiles(List[str]) 方法可以將一個(gè)文件路徑列表對(duì)應(yīng)的所有 PDF 文件按列表順序合并為一個(gè) PDF 文件。代碼如下:
from spire.pdf.common import * from spire.pdf import * import os # 指定文件夾路徑 folder_path = "G:/文檔/" # 遍歷文件夾中的文件并創(chuàng)建文件路徑列表 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) # 保存結(jié)果文檔 pdf.Save("output/合并PDF.pdf", FileFormat.PDF) pdf.Close()
方法2:通過AppendPage() 插入頁面合并 PDF 文件
AppendPage(PdfDocument) 方法可以在一個(gè) PDF 文件中插入另一個(gè) PDF 文件的所有頁面。 具體實(shí)現(xiàn)代碼參考:
from spire.pdf.common import * from spire.pdf import * # 遍歷文件夾中的文件,載入每個(gè)PDF文件PdfDocument對(duì)象并列表 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)) # 創(chuàng)建一個(gè)PdfDocument對(duì)象 newPdf = PdfDocument() # 將加載的PDF文檔的頁面插入到新的PDF文檔中 for pdf in pdf_files: newPdf.AppendPage(pdf) # 保存新的PDF文檔 newPdf.SaveToFile("output/插入頁面合并PDF.pdf")
方法3:合并不同 PDF 文件的指定頁面
InsertPage (PdfDocument, pageIndex: int) 方法可以將一個(gè) PDF 文件的指定頁面插入到另一個(gè) PDF 文件中。我們可以通過這個(gè)方法合并不同 PDF 文件的指定頁面。
from spire.pdf import * from spire.pdf.common import * # 創(chuàng)建PDF文件路徑列表 file1 = "示例1.pdf" file2 = "示例2.pdf" file3 = "示例3.pdf" files = [file1, file2, file3] # 加載每個(gè)PDF文件并添加到列表中 pdfs = [] for file in files: pdfs.append(PdfDocument(file)) # 創(chuàng)建一個(gè)PdfDocument對(duì)象 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")
到此這篇關(guān)于Python實(shí)現(xiàn)合并PDF文件的三種方式的文章就介紹到這了,更多相關(guān)Python合并PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
TensorFlow實(shí)現(xiàn)MLP多層感知機(jī)模型
這篇文章主要為大家詳細(xì)介紹了TensorFlow實(shí)現(xiàn)MLP多層感知機(jī)模型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Python依賴管理及打包工具Poetry使用規(guī)范
這篇文章主要為大家介紹了Python依賴管理及打包工具Poetry的依賴規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-09-09python中threading超線程用法實(shí)例分析
這篇文章主要介紹了python中threading超線程用法,實(shí)例分析了Python中threading模塊的相關(guān)使用技巧,需要的朋友可以參考下2015-05-05Python 的 sum() Pythonic 的求和方法詳細(xì)
Python 的內(nèi)置函數(shù)sum()是一種對(duì)數(shù)值列表求和的有效且Pythonic 的方法。將多個(gè)數(shù)字相加是許多計(jì)算中常見的中間步驟,因此sum()對(duì)于 Python 程序員來說是一個(gè)非常方便的工具。下面文章就讓我們一起來看具體內(nèi)容吧2021-10-10Python函數(shù)調(diào)用追蹤實(shí)現(xiàn)代碼
這篇文章主要介紹了Python函數(shù)調(diào)用追蹤實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python實(shí)戰(zhàn)實(shí)現(xiàn)爬取天氣數(shù)據(jù)并完成可視化分析詳解
這篇文章主要和大家分享一個(gè)用Python實(shí)現(xiàn)的小功能:獲取天氣數(shù)據(jù),進(jìn)行可視化分析,帶你直觀了解天氣情況!感興趣的小伙伴可以學(xué)習(xí)一下2022-06-06Python Web日志管理與監(jiān)控實(shí)踐指南
這篇文章主要介紹了Python Web日志管理與監(jiān)控實(shí)踐指南,文中通過代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09Python數(shù)據(jù)分析庫pandas基本操作方法
下面小編就為大家分享一篇Python數(shù)據(jù)分析庫pandas基本操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python+matplotlib實(shí)現(xiàn)堆疊圖的繪制
Matplotlib作為Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版質(zhì)量級(jí)別的圖形。本文將利用Matplotlib庫繪制堆疊圖,感興趣的可以了解一下2022-03-03