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 库各功能教程

相关推荐
奈斯。zs11 分钟前
yjs08——矩阵、数组的运算
人工智能·python·线性代数·矩阵·numpy
Melody205012 分钟前
tensorflow-dataset 内网下载 指定目录
人工智能·python·tensorflow
学步_技术13 分钟前
Python编码系列—Python抽象工厂模式:构建复杂对象家族的蓝图
开发语言·python·抽象工厂模式
Narutolxy1 小时前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
Amo Xiang1 小时前
2024 Python3.10 系统入门+进阶(十五):文件及目录操作
开发语言·python
liangbm31 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
B站计算机毕业设计超人2 小时前
计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
爬虫·python·深度学习·算法·机器学习·自然语言处理·数据可视化
羊小猪~~2 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
waterHBO4 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七5 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql