Python 实现HTML 转Word

之前文章分享过如何使用Spire.Doc for Python库将Word文档转为HTML格式,反过来,该库也能实现HTML到Word文档的转换。通过代码进行转换,避免了手动复制粘贴费时间,并且可能会出现错误或格式混乱等问题。

Spire.Doc for Python库能转换一个HTML文件为 Word Docx 格式,也能直接将HTML字符串转为Word文档。具体实现方法查看下文。

首先通过以下pip命令安装该Python库:

复制代码
pip install Spire.Doc

Python 将HTML文件转为Word

复制代码
from spire.doc import *
from spire.doc.common import *
 
# 创建Document类的对象
document = Document()
 
# 加载一个HTML文件
document.LoadFromFile("input.html", FileFormat.Html, XHTMLValidationType.none)
 
# 将HTML文件保存为.docx格式
document.SaveToFile("Html文件转为Word.docx", FileFormat.Docx2016)
document.Close()

上述代码先加载了一个.html文件,然后通过调用 Document.SaveToFile() 方法就将该文件转换成了.docx 格式。三行Python代码轻松搞定HTML文件转Word。

效果图:

Python 将HTML字符串转为Word

复制代码
from spire.doc import *
from spire.doc.common import *
 
# 创建Document类的对象
document = Document()
 
# 在文档中添加一节
sec = document.AddSection()
 
# 在该节中添加一个段落
paragraph = sec.AddParagraph()
 
# 指定HTML字符串
htmlString = """
<html>
<head>
    <title>HTML转Word示例</title>
    <style>
        body {
            font-family: 微软雅黑, sans-serif;
        }
        h1 {
            color: #CC3333;
            font-size: 24px;
            margin-bottom: 20px;
        }
        p {
            color: #333333;
            font-size: 16px;
            margin-bottom: 10px;
        }
        ul {
            list-style-type: disc;
            margin-left: 20px;
            margin-bottom: 15px;
        }
        li {
            font-size: 14px;
            margin-bottom: 5px;
        }
        table {
            border-collapse: collapse;
            width: 100%;
            margin-bottom: 20px;
        }
        th, td {
            border: 1px solid #CCCCCC;
            padding: 8px;
            text-align: left;
        }
        th {
            background-color: #F2F2F2;
            font-weight: bold;
        }
        td {
            color: #0000FF;
        }
    </style>
</head>
<body>
    <h1>标题示例</h1>
    <p>这是一个简单段落展示。</p>
    <p>无序列表:</p>
    <ul>
        <li>数学</li>
        <li>语文</li>
        <li>英语</li>
    </ul>
    <p>表格:</p>
    <table>
        <tr>
            <th>产品</th>
            <th>数量</th>
            <th>价格</th>
        </tr>
        <tr>
            <td>长裤</td>
            <td>30</td>
            <td>¥150</td>
        </tr>
        <tr>
            <td>毛衣</td>
            <td>2</td>
            <td>¥99</td>
        </tr>
    </table>
</body>
</html>
"""
 
# 将 HTML 字符串添加到段落中
paragraph.AppendHTML(htmlString)
 
# 保存结果文件
document.SaveToFile("Html字符串转Word.docx", FileFormat.Docx2016)
document.Close()

上述代码中,首先新建了一个Word文档并添加段落,然后通过 Paragraph.AppendHTML() 方法将HTML字符串插入到了Word文档的段落中,最后再保存文档即可将实现转换。生成文件如下图:

参考:Python Word 库各功能教程

相关推荐
思则变3 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络3 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find5 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
博观而约取6 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector7 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习7 小时前
Python入门Day2
开发语言·python
Vertira7 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉7 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗8 小时前
黑马python(二十四)
开发语言·python
晓13138 小时前
OpenCV篇——项目(二)OCR文档扫描
人工智能·python·opencv·pycharm·ocr