Python-docx 问题 HTML 预格式化文本
Python-docx issue with HTML preformatted text
我正在尝试执行一个脚本,该脚本会引入 HTML,并将其转换为格式化的 Word 文档。我在使用 docx.enum.style
中定义的内置样式中的一种样式时遇到了特别的麻烦
我发现此页面描述了使用 WD_STYLE.HTML_PRE 属性分配样式的代码片段 (http://python-docx.readthedocs.org/en/latest/api/enum/WdBuiltinStyle.html#wd-builtin-style)
from docx import Document
from docx.enum.style import WD_STYLE
document = Document()
styles = document.styles
style = styles[WD_STYLE.BODY_TEXT]
当我尝试上面 URL 中描述的这组命令时,我收到以下错误:
>>> from docx import Document
>>> from docx.enum.style import WD_STYLE
>>>
>>> document = Document()
>>> styles = document.styles
>>> style = styles[WD_STYLE.BODY_TEXT]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\docx\styles\styles.py", line 57, in __getitem__
raise KeyError("no style with name '%s'" % key)
KeyError: u"no style with name 'BODY_TEXT (-67)'"
>>> style = styles[WD_STYLE.HTML_PRE]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\docx\styles\styles.py", line 57, in __getitem__
raise KeyError("no style with name '%s'" % key)
**KeyError: u"no style with name 'HTML_PRE (-102)'"**
我做错了什么?
您应该阅读文档中的这两页:
http://python-docx.readthedocs.org/en/latest/user/styles-understanding.html
http://python-docx.readthedocs.org/en/latest/user/styles-using.html
作为 WD_BUILTIN_STYLE 枚举的一部分给出的示例中的功能未实现,因此该方法无效。
使用您想要的样式名称,因为它出现在 Word 中 UI:
style = styles["Body Text"]
阅读上面的文档页面后,您将了解除非您要求的样式在文档中明确定义,否则这将无法工作,并且它将解释如何管理它。
我正在尝试执行一个脚本,该脚本会引入 HTML,并将其转换为格式化的 Word 文档。我在使用 docx.enum.style
中定义的内置样式中的一种样式时遇到了特别的麻烦我发现此页面描述了使用 WD_STYLE.HTML_PRE 属性分配样式的代码片段 (http://python-docx.readthedocs.org/en/latest/api/enum/WdBuiltinStyle.html#wd-builtin-style)
from docx import Document
from docx.enum.style import WD_STYLE
document = Document()
styles = document.styles
style = styles[WD_STYLE.BODY_TEXT]
当我尝试上面 URL 中描述的这组命令时,我收到以下错误:
>>> from docx import Document
>>> from docx.enum.style import WD_STYLE
>>>
>>> document = Document()
>>> styles = document.styles
>>> style = styles[WD_STYLE.BODY_TEXT]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\docx\styles\styles.py", line 57, in __getitem__
raise KeyError("no style with name '%s'" % key)
KeyError: u"no style with name 'BODY_TEXT (-67)'"
>>> style = styles[WD_STYLE.HTML_PRE]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\docx\styles\styles.py", line 57, in __getitem__
raise KeyError("no style with name '%s'" % key)
**KeyError: u"no style with name 'HTML_PRE (-102)'"**
我做错了什么?
您应该阅读文档中的这两页:
http://python-docx.readthedocs.org/en/latest/user/styles-understanding.html
http://python-docx.readthedocs.org/en/latest/user/styles-using.html
作为 WD_BUILTIN_STYLE 枚举的一部分给出的示例中的功能未实现,因此该方法无效。
使用您想要的样式名称,因为它出现在 Word 中 UI:
style = styles["Body Text"]
阅读上面的文档页面后,您将了解除非您要求的样式在文档中明确定义,否则这将无法工作,并且它将解释如何管理它。