最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python實現(xiàn)Office文檔(Word/Excel/PowerPoint)批量轉(zhuǎn)換為PDF

 更新時間:2024年10月22日 08:41:04   作者:Eiceblue  
在處理不同格式的Office文檔(如Word、Excel和PowerPoint)時,將其轉(zhuǎn)換為PDF格式是常見的需求,本文就跟隨小編來看看如何使用Python將Word/Excel/PowerPoint批量轉(zhuǎn)換為PDF吧

在處理不同格式的Office文檔(如Word、Excel和PowerPoint)時,將其轉(zhuǎn)換為PDF格式是常見的需求。這種轉(zhuǎn)換不僅確保了文件在不同設(shè)備和操作系統(tǒng)間的一致性顯示,而且有助于保護原始內(nèi)容不被輕易修改,非常適合于正式報告、提案或資料歸檔等場景。通過使用Python,開發(fā)者可以編寫簡潔高效的腳本來自動完成這些任務(wù),滿足企業(yè)或個人對于文檔管理的需求。本文將介紹如何使用Python代碼實現(xiàn)Word、Excel和PowerPoint文檔到PDF文件的批量轉(zhuǎn)換,同時提供用Python將Office文檔合并轉(zhuǎn)換為PDF的方法。

本文所使用的方法需要用到Spire.Office for Python,PyPI:pip install spire.office。

將Word、Excel和PowerPoint文檔批量分別轉(zhuǎn)換為PDF文檔

我們可以通過判斷文檔的文件后綴名,然后將對應(yīng)的文檔分別用Document類(Word)、Workbook類(Excel)和Presentation類(PowerPoint)的LoadFromFile方法載入,再分別使用SaveToFile(string: fileName, FileFormat.PDF)方法轉(zhuǎn)換并保存為PDF文檔,從而實現(xiàn)Office文檔到PDF文件的批量轉(zhuǎn)換。以下是詳細操作步驟:

  • 導(dǎo)入所需模塊。
  • 定義要處理的文件夾路徑,獲取指定類型的文件并排序。
  • 創(chuàng)建一個PdfDocument對象。
  • 遍歷文件列表的文件,根據(jù)后綴名判斷文件類型。
  • 根據(jù)文件類型創(chuàng)建Document、Workbook或Presentation對象。
  • 使用LoadFromFile方法載入文檔。
  • 使用SaveToFile方法將文檔轉(zhuǎn)換為PDF并保存。
  • 釋放資源。

代碼示例

from spire.pdf import PdfDocument
from spire.doc import Document
from spire.xls import Workbook
from spire.presentation import Presentation
from spire.doc import FileFormat as wFileFormat
from spire.xls import FileFormat as eFileFormat
from spire.presentation import FileFormat as pFileFormat
import os

# 定義要處理的文件夾路徑
folderPath = "Documents/"
# 獲取所有指定類型的文件并排序
extensions = [".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx"]
files = sorted([os.path.join(folderPath, f) for f in os.listdir(folderPath) if f.lower().endswith(tuple(extensions))])

# 創(chuàng)建一個PdfDocument對象
pdf = PdfDocument()

# 遍歷文件列表
for file in files:
    extension = os.path.splitext(file)[1].lower()
    if extension in [".doc", ".docx"]:
        # 創(chuàng)建Document對象
        doc = Document()
        # 載入Word文檔
        doc.LoadFromFile(file)
        # 將Word文檔轉(zhuǎn)換為PDF
        doc.SaveToFile(f"output/Documents/{os.path.basename(file)}.pdf", wFileFormat.PDF)
        doc.Close()
    if extension in [".xls", ".xlsx"]:
        # 創(chuàng)建Workbook對象
        workbook = Workbook()
        # 載入Excel文件
        workbook.LoadFromFile(file)
        # 將Excel文件轉(zhuǎn)換為PDF
        workbook.SaveToFile(f"output/Documents/{os.path.basename(file)}.pdf", eFileFormat.PDF)
        workbook.Dispose()
    if extension in [".ppt", ".pptx"]:
        # 創(chuàng)建Presentation對象
        presentation = Presentation()
        # 載入PowerPoint文件
        presentation.LoadFromFile(file)
        # 將PowerPoint文件轉(zhuǎn)換為PDF
        presentation.SaveToFile(f"output/Documents/{os.path.basename(file)}.pdf", pFileFormat.PDF)
        presentation.Dispose()

# 關(guān)閉PdfDocument對象
pdf.Close()

結(jié)果

將Word、Excel、PowerPoint和PDF文檔合并轉(zhuǎn)換為單個PDF

除了批量分別轉(zhuǎn)換Office文檔外,我們還可以將各種類型的文檔合并轉(zhuǎn)換到同一個PDF文件中。以下是操作步驟:

  • 導(dǎo)入所需模塊。
  • 定義要處理的文件夾路徑,獲取指定類型的文件并排序。
  • 創(chuàng)建一個PdfDocument對象pdf用于儲存最終PDF文檔。
  • 創(chuàng)建一個新的PdfDocument對象temPdf和一個臨時PDF文檔地址用于轉(zhuǎn)換出的臨時PDF文檔。
  • 遍歷文件列表的文件,根據(jù)后綴名判斷文件類型。
  • 根據(jù)文件類型創(chuàng)建Document、Workbook或Presentation對象,并使用LoadFromFile方法載入文檔。
  • 使用SaveToFile方法將文檔轉(zhuǎn)換為PDF并保存到臨時PDF路徑。
  • 使用temPdf.LoadFromFile()方法載入臨時PDF,并使用pdf.AppendPage(temPdf)將其頁面插入到最終PDF中。
  • 處理完成后,使用pdf.SaveToFile()方法保存最終PDF文檔。
  • 清理臨時文件并釋放資源。

代碼示例

from spire.pdf import PdfDocument
from spire.doc import Document
from spire.xls import Workbook
from spire.presentation import Presentation
from spire.doc import FileFormat as wFileFormat
from spire.xls import FileFormat as eFileFormat
from spire.presentation import FileFormat as pFileFormat

import os

# 指定要處理的文件夾路徑
folderPath = 'Documents/'
# 獲取所有指定類型的文件并排序
extensions = ['.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx']
files = sorted([os.path.join(folderPath, f) for f in os.listdir(folderPath) if f.lower().endswith(tuple(extensions))])

# 創(chuàng)建一個PdfDocument對象
pdf = PdfDocument()
# 創(chuàng)建一個臨時PDF和一個Stream對象
temPdf = PdfDocument()
temPdfPath = 'temp.pdf'

# 遍歷文件列表
for file in files:
    extension = os.path.splitext(file)[1].lower()

    if extension in ['.doc', '.docx']:
        # 加載Word文檔
        doc = Document()
        doc.LoadFromFile(file)
        # 保存為臨時PDF
        doc.SaveToFile(temPdfPath, wFileFormat.PDF)
        # 載入臨時PDF并將其頁面添加到最終PDF中
        temPdf.LoadFromFile(temPdfPath)
        pdf.AppendPage(temPdf)
        doc.Close()  # 顯式關(guān)閉文檔

    elif extension in ['.xls', '.xlsx']:
        # 加載Excel工作簿
        workbook = Workbook()
        workbook.LoadFromFile(file)
        # 保存為臨時PDF
        workbook.SaveToFile(temPdfPath, eFileFormat.PDF)
        # 載入臨時PDF并將其頁面添加到最終PDF中
        temPdf.LoadFromFile(temPdfPath)
        pdf.AppendPage(temPdf)
        workbook.Dispose()  # 顯式關(guān)閉工作簿

    elif extension in ['.ppt', '.pptx']:
        # 加載PowerPoint演示文稿
        presentation = Presentation()
        presentation.LoadFromFile(file)
        # 保存為臨時PDF
        presentation.SaveToFile(temPdfPath, pFileFormat.PDF)
        # 載入臨時PDF并將其頁面添加到最終PDF中
        temPdf.LoadFromFile(temPdfPath)
        pdf.AppendPage(temPdf)
        presentation.Dispose()  # 顯式關(guān)閉演示文稿

    elif extension == '.pdf':
        # 如果已經(jīng)是PDF,則直接載入并將其頁面添加到最終PDF中
        temPdf.LoadFromFile(file)
        pdf.AppendPage(temPdf)

# 保存最終PDF
outputPath = "output/CombinedPDF.pdf"
pdf.SaveToFile(outputPath)

# 清理臨時文件
if os.path.exists('temp.pdf'):
    os.remove('temp.pdf')

# 釋放資源
pdf.Close()
temPdf.Close()

結(jié)果

本文演示了如何使用Python將Word、Excel和PowerPoint文檔批量分別轉(zhuǎn)換為PDF文檔,以及將它們合并轉(zhuǎn)換為單個PDF。Spire.Office for Python還支持進行許多其他格式的轉(zhuǎn)換,請前往官網(wǎng)了解。

以上就是使用Python實現(xiàn)Office文檔(Word/Excel/PowerPoint)批量轉(zhuǎn)換為PDF的詳細內(nèi)容,更多關(guān)于Python Office轉(zhuǎn)PDF的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 對python xlrd讀取datetime類型數(shù)據(jù)的方法詳解

    對python xlrd讀取datetime類型數(shù)據(jù)的方法詳解

    今天小編就為大家分享一篇對python xlrd讀取datetime類型數(shù)據(jù)的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python Django教程之模板的使用

    Python Django教程之模板的使用

    模板是 Django MVT 結(jié)構(gòu)的第三個也是最重要的部分。Django中的模板基本上是用HTML,CSS和Javascript編寫在.html文件中的。本文將通過實例詳細聊聊Django模板的使用,感興趣的可以
    2022-10-10
  • 基于keras輸出中間層結(jié)果的2種實現(xiàn)方式

    基于keras輸出中間層結(jié)果的2種實現(xiàn)方式

    今天小編就為大家分享一篇基于keras輸出中間層結(jié)果的2種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pycharm 解除默認unittest模式的方法

    pycharm 解除默認unittest模式的方法

    今天小編就為大家分享一篇pycharm 解除默認unittest模式的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python with statement 進行文件操作指南

    python with statement 進行文件操作指南

    在Python中,with關(guān)鍵字是一個替你管理實現(xiàn)上下文協(xié)議對象的好東西。例如:file等。在file的結(jié)束,會自動關(guān)閉該文件句柄。而這正是本文所需要的
    2014-08-08
  • python讀取mat文件生成h5文件的實現(xiàn)

    python讀取mat文件生成h5文件的實現(xiàn)

    這篇文章主要介紹了python讀取mat文件生成h5文件的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python用pyecharts畫地圖實例介紹

    python用pyecharts畫地圖實例介紹

    大家好,本篇文章主要講的是python用pyecharts畫地圖實例介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • 用OpenCV進行年齡和性別檢測的實現(xiàn)示例

    用OpenCV進行年齡和性別檢測的實現(xiàn)示例

    這篇文章主要介紹了用 OpenCV 進行年齡和性別檢測的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python中argparse模塊基礎(chǔ)及使用步驟

    python中argparse模塊基礎(chǔ)及使用步驟

    argsparse是python的命令行解析的標準模塊,內(nèi)置于python,不需要安裝。這個庫可以讓我們直接在命令行中就可以向程序中傳入?yún)?shù)并讓程序運行,接下來通過本文給大家介紹python argparse模塊的相關(guān)知識,感興趣的朋友一起看看吧
    2022-06-06
  • Python中PyExecJS(執(zhí)行JS代碼庫)的具體使用

    Python中PyExecJS(執(zhí)行JS代碼庫)的具體使用

    pyexecjs是一個用Python來執(zhí)行JavaScript代碼的工具庫,本文主要介紹了Python中PyExecJS(執(zhí)行JS代碼庫)的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02

最新評論

凤翔县| 广宗县| 山东省| 万州区| 彭州市| 教育| 上栗县| 泗水县| 德格县| 常宁市| 汪清县| 江城| 买车| 云梦县| 秦皇岛市| 抚远县| 阿勒泰市| 府谷县| 无棣县| 甘泉县| 齐河县| 酒泉市| 溧阳市| 邓州市| 西乡县| 司法| 濮阳县| 互助| 慈溪市| 江永县| 安塞县| 柳林县| 余江县| 钦州市| 岳池县| 清水县| 阳城县| 鹿泉市| 华宁县| 贵州省| 南部县|