首页 > 编程语言 >Python 实现HTML 转Word

Python 实现HTML 转Word

时间:2023-12-29 16:34:54浏览次数:33  
标签:文件 Word Python HTML document margin

之前文章分享过如何使用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 库各功能教程 

标签:文件,Word,Python,HTML,document,margin
From: https://www.cnblogs.com/Yesi/p/17935186.html

相关文章

  • Python 设置word编辑限制 或解除word编辑限制
    限制编辑是一种控制文档或文件的访问权限的功能,它可以防止未经授权的用户对文档进行修改或编辑。通过启用编辑限制,您可以设定不同级别的权限,例如只允许查看、只允许评论或只允许特定用户进行编辑。本文将介绍如何使用Spire.DocforPython在Python程序中限制对Word文档的编辑......
  • 【Python机器学习课程设计】基于卷积神经网络的动物图像分类+数据分析
    一、选题背景在现代社会中,图像分类是计算机视觉领域的一个重要任务。动物图像分类具有广泛的应用,例如生态学研究、动物保护、农业监测等。通过对动物图像进行自动分类,可以帮助人们更好地了解动物种类、数量和分布情况,从而支持相关领域的决策和研究。本研究的目标是使用卷积神......
  • 【Python机器学习课程设计】基于卷积神经网络的动物图像分类
    ------------恢复内容开始------------一、选题背景在现代社会中,图像分类是计算机视觉领域的一个重要任务。动物图像分类具有广泛的应用,例如生态学研究、动物保护、农业监测等。通过对动物图像进行自动分类,可以帮助人们更好地了解动物种类、数量和分布情况,从而支持相关领域......
  • 当然可以。PyScript 是一个 Python 前端框架,它使用户能够在浏览器中使用 HTML 界面构
    当然可以。PyScript是一个Python前端框架,它使用户能够在浏览器中使用HTML界面构建Python程序¹。Vue是一个用于构建用户界面的渐进式框架。PyScript和Vue可以一起使用,以便在Vue组件中编写Python代码,并在Vue组件中使用Python库²。PyCharm是一个流行的Python......
  • PyScript 是一个框架,<py-script></py-script> 标签 html 如何在 PyScript 中使用 Pyth
    PyScript是一个框架,它允许用户使用HTML的界面在浏览器中创建丰富的Python应用程序¹。以下是如何在HTML中运行PyScript的步骤²⁴:1.在HTML文件的`<head>`部分插入以下代码:```html<linkrel="stylesheet"href="https://pyscript.net/alpha/pyscript.css"/><scri......
  • python json.dump 将字典写文件json文件后多了一个花括号"}",读取时报错:json.decoder.
    问题复现我的字典格式:importjsond={'Demo':{'Total_Result':'Pass','info':{'test3':'Pass'}},'10.0.0.111':{'Total_Result':'Pass','info':{'test......
  • 导出mysql表结构设计文档word
    github上有个很好用的工具:https://github.com/msuno/export-database-structure我使用的数据库MySQL8.0.20一、下载后修改1.pom中的oracle下载失败,解决办法:注释即可,无影响<!--<dependency>--><!--<groupId>com.oracle</groupId>--><!--<artifactId>o......
  • python 修改ini文件参数,保留ini文件注释的方法--未测试
    使用configparser模块的write()方法在写入INI文件时默认会删除注释。要保留注释,您可以使用自定义的格式化器来处理INI文件的内容,并在写入文件时手动添加注释。下面是一个示例代码,演示如何自定义一个格式化器,并在写入INI文件时保留注释:python复制代码importconfigparser......
  • [python] 基于Dataset库操作数据库
    dataset库是Python中一个用于操作数据库的简单库,它提供了一种简洁的方式与各种关系型数据库进行交互,例如SQLite、MySQL、PostgreSQL等。你可以使用dataset库来执行查询、插入、更新和删除操作,而无需编写复杂的SQL语句。dataset库适用于小规模的数据存储和查询场景,相比csv和json文......
  • python 有效的括号 多种解法
    解法一:使用栈思路:创建一个空栈。遍历输入字符串的每个字符。如果字符是左括号('(','{','['),则将其推入栈中。如果字符是右括号(')','}',']'),则检查栈是否为空。如果栈为空,则返回False,因为没有与之匹配的左括号。如果栈不为空,则弹出栈顶元素,并判断它与当前右括号是否匹配。如果不匹......