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

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 類似,只需更改輸出格式即可。

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)文章

  • Django2 連接MySQL及model測(cè)試實(shí)例分析

    Django2 連接MySQL及model測(cè)試實(shí)例分析

    這篇文章主要介紹了Django2 連接MySQL及model測(cè)試,結(jié)合實(shí)例形式分析了Django2框架使用pymysql庫(kù)進(jìn)行mysql數(shù)據(jù)庫(kù)連接與model調(diào)用測(cè)試方法,需要的朋友可以參考下
    2019-12-12
  • Pytorch生成隨機(jī)數(shù)Tensor的方法匯總

    Pytorch生成隨機(jī)數(shù)Tensor的方法匯總

    這篇文章主要介紹了Pytorch生成隨機(jī)數(shù)Tensor的方法匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 詳解Python prometheus_client使用方式

    詳解Python prometheus_client使用方式

    本文主要介紹了Python prometheus_client使用方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • PyTorch模型的保存與加載方法實(shí)例

    PyTorch模型的保存與加載方法實(shí)例

    Pytorch保存模型其實(shí)非常簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于PyTorch模型的保存與加載的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Python打印輸出數(shù)組中全部元素

    Python打印輸出數(shù)組中全部元素

    使用Python打印數(shù)組時(shí)會(huì)遇到一個(gè)問(wèn)題,當(dāng)打印的數(shù)組元素比較多時(shí),會(huì)出現(xiàn)只打印出數(shù)組開(kāi)始與結(jié)尾部分中間部分用省略省略了,下面的方法可以完美解決這個(gè)問(wèn)題
    2018-03-03
  • 詳解如何修改python中字典的鍵和值

    詳解如何修改python中字典的鍵和值

    這篇文章主要介紹了詳解如何修改python中字典的鍵和值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python實(shí)現(xiàn)通過(guò)繼承覆蓋方法示例

    Python實(shí)現(xiàn)通過(guò)繼承覆蓋方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)通過(guò)繼承覆蓋方法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中采用子類覆蓋父類同名方法相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 詳解Python如何優(yōu)雅的重試

    詳解Python如何優(yōu)雅的重試

    這篇文章主要為大家介紹了Python如何優(yōu)雅的重試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • python實(shí)現(xiàn)對(duì)求解最長(zhǎng)回文子串的動(dòng)態(tài)規(guī)劃算法

    python實(shí)現(xiàn)對(duì)求解最長(zhǎng)回文子串的動(dòng)態(tài)規(guī)劃算法

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)對(duì)求解最長(zhǎng)回文子串的動(dòng)態(tài)規(guī)劃算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python實(shí)現(xiàn)郵件循環(huán)自動(dòng)發(fā)件功能

    python實(shí)現(xiàn)郵件循環(huán)自動(dòng)發(fā)件功能

    這篇文章主要介紹了python實(shí)現(xiàn)郵件循環(huán)自動(dòng)發(fā)件功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

永年县| 栖霞市| 铁岭市| 海林市| 军事| 桂东县| 邮箱| 保山市| 冀州市| 通城县| 海口市| 大姚县| 清流县| 虞城县| 荆州市| 金乡县| 天等县| 阳江市| 汝州市| 峡江县| 舞钢市| 远安县| 梨树县| 高清| 温泉县| 河西区| 武定县| 平塘县| 定南县| 调兵山市| 肥西县| 武安市| 绥阳县| 阳西县| 缙云县| 泸西县| 海伦市| 南澳县| 股票| 宜阳县| 垫江县|