gpt4 book ai didi

Python-docx 无法使用现有文档 - 没有名称为 'Title' 的样式

转载 作者:行者123 更新时间:2023-12-03 08:56:29 27 4
gpt4 key购买 nike

我正在尝试制作一个程序,该程序将基于文本文件创建文档,到目前为止,它运行良好。我决定这样做,以便更容易地使用图像和其他在 Python-docx 中不支持/难以有效使用的东西。在使用完全相同的代码但使用 Doc = document() 时,我使用 Doc = document("template.docx")。修改后,文件保存到不同的docx文件中。我在尝试使用模板时遇到这些错误。创建新文档时没有错误。

回溯(最近一次调用最后一次):

  File "C:\Users\bgrif\Desktop\QPA.py", line 45, in <module>
Doc.add_heading("QuizPax 28/02/2019",0)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\document.py", line 39, in add_heading
return self.add_paragraph(text, style)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\document.py", line 56, in add_paragraph
return self._body.add_paragraph(text, style)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\blkcntnr.py", line 39, in add_paragraph
paragraph.style = style
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\text\paragraph.py", line 111, in style
style_or_name, WD_STYLE_TYPE.PARAGRAPH
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\parts\document.py", line 78, in get_style_id
return self.styles.get_style_id(style_or_name, style_type)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\styles\styles.py", line 109, in get_style_id
return self._get_style_id_from_name(style_or_name, style_type)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\styles\styles.py", line 139, in _get_style_id_from_name
return self._get_style_id_from_style(self[style_name], style_type)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\styles\styles.py", line 53, in __getitem__
raise KeyError("no style with name '%s'" % key)
KeyError: "no style with name 'Title'"

有人知道如何解决这个问题吗?提前致谢。

最佳答案

编辑 template.docx 文件以添加 Title 样式:

  1. 打开文件并按 Enter 键创建一个新段落
  2. 选择该段落并为其指定段落样式标题
  3. 删除该段落
  4. 保存文件并重试您的代码。

在 Word 中,样式库和选择列表中出现大量预定义的段落样式。这些样式的属性对于 Word 应用程序来说是已知的,但在首次使用这些样式之前,Word 实际上并不将任何这些样式存储在文档中。之后,即使没有任何内容使用,它们也会保留在该文档中。

python-docx 只能使用文档中定义的样式,因此您需要将该样式添加到模板文档中才能使用它, .add_heading(.., 0) 调用即可。

关于Python-docx 无法使用现有文档 - 没有名称为 'Title' 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54945258/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com