欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python高效實(shí)現(xiàn)HTML轉(zhuǎn)為Word和PDF

 更新時(shí)間:2025年09月09日 08:25:31   作者:用戶372157426135  
在Python日常開(kāi)發(fā)中,經(jīng)常會(huì)遇到將網(wǎng)頁(yè)中的 HTML 內(nèi)容保存為 Word 文檔,本文將借助第三方庫(kù)實(shí)現(xiàn)將HTML轉(zhuǎn)為Word和PDF,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

在日常開(kāi)發(fā)中,經(jīng)常會(huì)遇到這樣的需求:將網(wǎng)頁(yè)中的 HTML 內(nèi)容保存為 Word 文檔,方便進(jìn)一步編輯;或者直接導(dǎo)出為 PDF 文件,便于分享和存檔。手動(dòng)復(fù)制粘貼不僅容易丟失格式,還可能帶來(lái)兼容性問(wèn)題,因此在代碼層面實(shí)現(xiàn) HTML 到 Word 和 PDF 的轉(zhuǎn)換就顯得非常實(shí)用。

在 Python 中,常見(jiàn)的做法是借助第三方庫(kù)完成這一過(guò)程。這種方法可以讓開(kāi)發(fā)者通過(guò)簡(jiǎn)潔的 API 實(shí)現(xiàn)高質(zhì)量的文件輸出,而不需要過(guò)多關(guān)心底層的排版細(xì)節(jié)。

為什么要將 HTML 轉(zhuǎn)換為 Word 和 PDF

內(nèi)容二次編輯:Word 文件更適合后續(xù)排版、校對(duì)和修訂。

歸檔與分享:PDF 文件在不同設(shè)備上保持一致的版式,適合存檔和分發(fā)。

自動(dòng)化處理:通過(guò) Python 腳本,可以批量處理大量 HTML 文件,提高工作效率。

使用第三方庫(kù)實(shí)現(xiàn) HTML 轉(zhuǎn) Word 和 PDF

在 Python 中,要實(shí)現(xiàn) HTML 到 Word 或 PDF 的轉(zhuǎn)換,一般需要借助第三方庫(kù)來(lái)處理文檔格式和排版。Spire.Doc for Python 是其中一個(gè)可選方案,它提供了對(duì) HTML、Word、PDF 等文檔格式的讀取與轉(zhuǎn)換支持,API 簡(jiǎn)潔易用,適合快速開(kāi)發(fā)文檔處理功能。

安裝 Spire.Doc for Python

通過(guò) pip 直接安裝 (推薦)

pip install spire.doc

指定版本安裝(如果需要固定版本)

pip install spire.doc==13.8.0

驗(yàn)證安裝

python -c "from spire.doc import Document; print('Spire.Doc import OK')"

使用 Python 將 HTML 轉(zhuǎn)換為 Word

將 HTML 轉(zhuǎn)換為 Word 的核心思路是:加載 HTML 文件(或字符串),然后另存為 Word 文檔。這里需要注意,無(wú)論是 .doc 還是 .docx 格式都支持,開(kāi)發(fā)者可以根據(jù)項(xiàng)目需求選擇保存的格式。

1. 從 HTML 文件轉(zhuǎn)換為 Word

下面的示例展示了如何將本地的 HTML 文件直接轉(zhuǎn)換為 Word 文檔,并分別保存為 .doc.docx 格式。

from spire.doc import *

# 創(chuàng)建 Document 對(duì)象
document = Document()

# 從 HTML 文件加載內(nèi)容
document.LoadFromFile("input.html", FileFormat.Html, XHTMLValidationType.None_)

# 保存為 Word 2003 格式(.doc)
document.SaveToFile("output.doc", FileFormat.Doc)

# 保存為 Word 2013 格式(.docx)
document.SaveToFile("output.docx", FileFormat.Docx2013)

# 關(guān)閉文檔
document.Close()

代碼說(shuō)明:

  • Document():初始化一個(gè)文檔對(duì)象。
  • LoadFromFile("input.html", FileFormat.Html, XHTMLValidationType.None_):從本地加載 HTML 文件并解析為文檔內(nèi)容。
  • SaveToFile("output.doc", FileFormat.Doc):將文檔保存為 Word 2003 格式(.doc)。
  • SaveToFile("output.docx", FileFormat.Docx2013):將文檔保存為 Word 2013 格式(.docx),更適合現(xiàn)代版本的 Office。
  • Close():釋放資源,確保文檔正確關(guān)閉。

這種方式適合直接對(duì)已有 HTML 文件進(jìn)行格式轉(zhuǎn)換。

2. 從 HTML 字符串轉(zhuǎn)換為 Word

如果 HTML 內(nèi)容是存儲(chǔ)在變量中的字符串,比如從數(shù)據(jù)庫(kù)或 API 獲取,可以使用 AppendHTML 方法將其插入到段落中:

from spire.doc import *

# 創(chuàng)建 Document 對(duì)象
document = Document()

# 添加節(jié)和段落
section = document.AddSection()
paragraph = section.AddParagraph()

# 定義一個(gè) HTML 字符串
html_string = """
<h1>Python HTML 轉(zhuǎn) Word 示例</h1>
<p>這是一段<strong>加粗</strong>文本,以及一個(gè)<a >超鏈接</a>。</p>
"""

# 將 HTML 插入到段落中
paragraph.AppendHTML(html_string)

# 保存為 Word 2003 格式(.doc)
document.SaveToFile("string_output.doc", FileFormat.Doc)

# 保存為 Word 2013 格式(.docx)
document.SaveToFile("string_output.docx", FileFormat.Docx2013)

document.Close()

代碼說(shuō)明:

  • AddSection():在文檔中添加一個(gè)新的節(jié)。
  • AddParagraph():在節(jié)中創(chuàng)建一個(gè)段落,作為 HTML 插入點(diǎn)。
  • AppendHTML(html_string):將 HTML 字符串直接插入段落,自動(dòng)渲染出對(duì)應(yīng)的標(biāo)題、加粗文本和超鏈接。
  • SaveToFile(..., FileFormat.Doc):保存為 .doc 格式。
  • SaveToFile(..., FileFormat.Docx2013):保存為 .docx 格式。

這種方式更靈活,適合 HTML 內(nèi)容來(lái)自數(shù)據(jù)庫(kù)、接口或動(dòng)態(tài)生成的場(chǎng)景。

使用 Python 將 HTML 轉(zhuǎn)換為 PDF

在有些場(chǎng)景下,直接將 HTML 轉(zhuǎn)換為 PDF 更符合需求,比如生成報(bào)告、合同或網(wǎng)頁(yè)快照。操作方式與保存 Word 類(lèi)似,只需更改輸出格式即可。

1. 從 HTML 文件轉(zhuǎn)換為 PDF

from spire.doc import *

# 創(chuàng)建 Document 對(duì)象
document = Document()

# 從 HTML 文件加載內(nèi)容
document.LoadFromFile("input.html", FileFormat.Html, XHTMLValidationType.None_)

# 保存為 PDF 文件
document.SaveToFile("output.pdf", FileFormat.PDF)

# 關(guān)閉文檔
document.Close()

代碼說(shuō)明:

  • 通過(guò) LoadFromFile 讀取 HTML 文件。
  • 使用 SaveToFile("output.pdf", FileFormat.PDF) 將內(nèi)容直接導(dǎo)出為 PDF 文件。
  • 輸出 PDF 文件會(huì)保留 HTML 原有的排版和超鏈接,保證顯示效果一致。

這種方法適合快速將現(xiàn)有 HTML 頁(yè)面歸檔為 PDF。

2. 從 HTML 字符串轉(zhuǎn)換為 PDF

from spire.doc import *

document = Document()
section = document.AddSection()
paragraph = section.AddParagraph()

html_string = """
<h2>HTML 轉(zhuǎn) PDF 示例</h2>
<p>這里是一個(gè)包含 <em>斜體</em>、<strong>加粗</strong> 和 <a >超鏈接</a> 的 HTML 內(nèi)容。</p>
"""

# 插入 HTML
paragraph.AppendHTML(html_string)

# 直接保存為 PDF 文件
document.SaveToFile("string_output.pdf", FileFormat.PDF)

document.Close()

代碼說(shuō)明:

  • AppendHTML(html_string):將 HTML 片段插入段落中并解析為可視化內(nèi)容。
  • SaveToFile("string_output.pdf", FileFormat.PDF):將最終文檔直接導(dǎo)出為 PDF 文件。
  • 支持保留 HTML 的樣式、字體和超鏈接。

這種方法適合需要在運(yùn)行時(shí)動(dòng)態(tài)生成 PDF 的場(chǎng)景,比如接口報(bào)表輸出。

總結(jié)

通過(guò) Python,可以輕松地將 HTML 轉(zhuǎn)換為 Word 和 PDF。不管是從文件讀取,還是直接使用 HTML 字符串,Spire.Doc for Python 都提供了簡(jiǎn)潔高效的 API,支持多種輸出格式(.doc、.docx、.pdf)。

  • 如果需要 二次編輯,可以選擇導(dǎo)出為 Word 文檔。
  • 如果需要 歸檔或分享,則導(dǎo)出為 PDF 更加穩(wěn)妥。
  • 如果 HTML 來(lái)源于數(shù)據(jù)庫(kù)或接口,也可以通過(guò)字符串方式插入,靈活生成目標(biāo)文檔。

這種方法能夠在保證文檔格式完整的同時(shí),大幅提升開(kāi)發(fā)效率,非常適合用于報(bào)表生成、文檔歸檔以及自動(dòng)化批量處理等場(chǎng)景。

到此這篇關(guān)于Python高效實(shí)現(xiàn)HTML轉(zhuǎn)為Word和PDF的文章就介紹到這了,更多相關(guān)Python HTML轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例

    python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例

    這篇文章主要介紹了python opencv 檢測(cè)移動(dòng)物體并截圖保存實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 淺析PEP570新語(yǔ)法: 只接受位置參數(shù)

    淺析PEP570新語(yǔ)法: 只接受位置參數(shù)

    本文通過(guò)一個(gè)例子給大家介紹了PEP570新語(yǔ)法: 只接受位置參數(shù)的一些知識(shí),感興趣的朋友跟隨小編一起看看吧
    2019-10-10
  • Python報(bào)表自動(dòng)化之從數(shù)據(jù)到可視化一站式指南

    Python報(bào)表自動(dòng)化之從數(shù)據(jù)到可視化一站式指南

    在現(xiàn)代數(shù)據(jù)驅(qū)動(dòng)的世界中,生成清晰、有用的報(bào)表對(duì)于業(yè)務(wù)決策至關(guān)重要,Python作為一門(mén)強(qiáng)大的編程語(yǔ)言,提供了豐富的庫(kù)和工具,使得報(bào)表自動(dòng)化變得輕而易舉,本文將詳細(xì)介紹如何利用Python從數(shù)據(jù)處理到可視化,實(shí)現(xiàn)報(bào)表自動(dòng)化的全過(guò)程
    2024-01-01
  • Python中的id()函數(shù)指的什么

    Python中的id()函數(shù)指的什么

    id() 函數(shù)用于獲取對(duì)象的內(nèi)存地址。很多朋友不清楚python中的id函數(shù)到底是什么?接下來(lái)小編給大家分享本文幫助大家學(xué)習(xí)
    2017-10-10
  • 深入解析Python中HTML/XML實(shí)體處理的完整指南

    深入解析Python中HTML/XML實(shí)體處理的完整指南

    在Web開(kāi)發(fā)和數(shù)據(jù)處理領(lǐng)域,HTML/XML實(shí)體處理是至關(guān)重要的核心技術(shù),本文將深入解析Python實(shí)體處理的相關(guān)方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-08-08
  • kafka-python批量發(fā)送數(shù)據(jù)的實(shí)例

    kafka-python批量發(fā)送數(shù)據(jù)的實(shí)例

    今天小編就為大家分享一篇kafka-python批量發(fā)送數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python中實(shí)現(xiàn)優(yōu)雅的switch操作的方法小結(jié)

    Python中實(shí)現(xiàn)優(yōu)雅的switch操作的方法小結(jié)

    這篇文章主要為大家詳細(xì)介紹了如何在Python中優(yōu)雅地實(shí)現(xiàn)?switch?操作,并提供豐富的示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Python NaN空值的處理示例詳解

    Python NaN空值的處理示例詳解

    這篇文章主要介紹了Python NaN空值的處理,通過(guò)本文的介紹,對(duì)Python去掉數(shù)組中的空值NaN有了更加深入的了解,在實(shí)際的數(shù)據(jù)分析工作中,我們可以根據(jù)具體的情況選擇合,需要的朋友可以參考下
    2023-11-11
  • python實(shí)現(xiàn)貪吃蛇小游戲

    python實(shí)現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python openpyxl 無(wú)法保存文件的解決方案

    Python openpyxl 無(wú)法保存文件的解決方案

    這篇文章主要介紹了Python openpyxl 無(wú)法保存文件的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論