Python實現(xiàn)合并PDF文件的三種方式
在處理多個 PDF 文檔時,頻繁地打開關(guān)閉文件會嚴(yán)重影響效率。因此,對于一大堆內(nèi)容相關(guān)的 PDF 文件,我們可以先將這些 PDF 文件合并起來再操作,從而提高工作效率。比如,在傳送大量的 PDF 文檔時,在處理同一項目下的多個 PDF 文檔時,或在打印一系列 PDF 文檔時,將文檔合并起來可以減少工作量。本文將分享3種使用 Python 合并 PDF 文件的實現(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]) 方法可以將一個文件路徑列表對應(yīng)的所有 PDF 文件按列表順序合并為一個 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) 方法可以在一個 PDF 文件中插入另一個 PDF 文件的所有頁面。 具體實現(xiàn)代碼參考:
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))
# 創(chuàng)建一個PdfDocument對象
newPdf = PdfDocument()
# 將加載的PDF文檔的頁面插入到新的PDF文檔中
for pdf in pdf_files:
newPdf.AppendPage(pdf)
# 保存新的PDF文檔
newPdf.SaveToFile("output/插入頁面合并PDF.pdf")方法3:合并不同 PDF 文件的指定頁面
InsertPage (PdfDocument, pageIndex: int) 方法可以將一個 PDF 文件的指定頁面插入到另一個 PDF 文件中。我們可以通過這個方法合并不同 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]
# 加載每個PDF文件并添加到列表中
pdfs = []
for file in files:
pdfs.append(PdfDocument(file))
# 創(chuàng)建一個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")到此這篇關(guān)于Python實現(xiàn)合并PDF文件的三種方式的文章就介紹到這了,更多相關(guān)Python合并PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析Sentry?Relay?二次開發(fā)調(diào)試
這篇文章主要介紹了Sentry?Relay?二次開發(fā)調(diào)試簡介,集成測試要求?Redis?和?Kafka?在其默認(rèn)配置中運(yùn)行,獲取所有必需服務(wù)的最便捷方式是通過?sentry?devservices,這需要最新的?Sentry?開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-03-03
pytorch中nn.Flatten()函數(shù)詳解及示例
nn.Flatten是一個類,而torch.flatten()則是一個函數(shù),下面這篇文章主要給大家介紹了關(guān)于pytorch中nn.Flatten()函數(shù)詳解及示例的相關(guān)資料,需要的朋友可以參考下2023-01-01
Python調(diào)試神器之PySnooper的使用教程分享
對于每個程序開發(fā)者來說,調(diào)試幾乎是必備技能。本文小編就來給大家介紹一款非常好用的調(diào)試工具,它能在一些場景下,大幅度提高調(diào)試的效率, 那就是 PySnooper,希望大家喜歡2023-02-02
Python爬取當(dāng)網(wǎng)書籍?dāng)?shù)據(jù)并數(shù)據(jù)可視化展示
這篇文章主要介紹了Python爬取當(dāng)網(wǎng)書籍?dāng)?shù)據(jù)并數(shù)據(jù)可視化展示,下面文章圍繞Python爬蟲的相關(guān)資料展開對爬取當(dāng)網(wǎng)書籍?dāng)?shù)據(jù)的詳細(xì)介紹,需要的小伙伴可以參考一下,希望對你有所幫助2022-01-01
Python2到Python3的遷移過程中報錯AttributeError: ‘str‘ objec
在 Python 編程過程中,AttributeError: 'str' object has no attribute 'decode' 是一個常見的錯誤,這通常會在處理字符串時出現(xiàn),尤其是在 Python 2 到 Python 3 的遷移過程中,本文將詳細(xì)介紹該問題的根源,并提供解決方案,需要的朋友可以參考下2025-04-04
django之導(dǎo)入并執(zhí)行自定義的函數(shù)模塊圖解
這篇文章主要介紹了django之導(dǎo)入并執(zhí)行自定義的函數(shù)模塊圖解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

