python - Python 使用 mammoth 将 docx 转换为 html:缺少 html、head 和 body 标签
问题描述
我正在尝试使用mammoth包将简单的 docx 文件转换为 HTML 文件。但似乎生成的 html 仅包含完整 HTML 文件的一部分:生成的 html 字符串中都缺少 HTML、head 和 body 标记。
我想知道是否有参数可以使 HTML 成为有效的 HTML 代码。
解决方案
我阅读了文档,但没有找到生成完整 HTML 的选项。由于生成的 HTML 只是一个字符串,因此很容易使其完全兼容 HTML:
import mammoth
with open("test.docx", "rb") as docx_file:
result = mammoth.convert_to_html(docx_file)
html = result.value # The generated HTML
messages = result.messages # Any messages,
full_html = (
'<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body>'
+ html
+ "</body></html>"
)
with open("test.html", "w", encoding="utf-8") as f:
f.write(full_html)
在上面的代码中,我们只是预先添加了必要的开始和结束标记,以使html
字符串成为有效的 HTML 源代码。
推荐阅读
- debugging - Emacs Lisp:错误数量的参数函数,用户输入在add-hook中调用它
- javascript - 通过下拉菜单javascript过滤时如何更改边缘(线条)颜色
- python - 将主题视频文件与我们拥有的 csv 数据文件进行比较的最佳方法是什么?
- javascript - 为什么我不能使用这个解析 javascript 代码的 Common Lisp 宏?
- python - 为什么我在 Sklearn 管道中的 OneHotEncoding 后得到的列比预期的多?
- excel - for 循环工作簿中带有公式的工作表,直到带有数据的列的末尾
- kubernetes - k8s 上的 Traefik:仪表板无法访问
- javascript - 使用“parcel index.html”后,外部 .js 不起作用
- javascript - NodeJS 无法修改类 obj
- safari - Vaadin 富文本编辑器组件标记按钮(粗体、斜体等)在 Safari 上不起作用