我使用以下代码:
def header_build(self, boldText, dataText):
# document.add_heading('Document Title', 0)
p = self.document.add_paragraph()
p.style = self.document.styles['Body Text']
p.style.font.size = Pt(12)
p.style.font.name = 'Times New Roman'
p.add_run(boldText).bold = True
p.add_run(dataText)
当我使用header_build函数时,我们的想法是:
^{pr2}$获取以下信息:
所有者:姓名
问题是,在我试图得到的文本之前,我得到了一个新的行。在
米克斯说得很对。用
Document()
创建的新文档包含一个空段落。在这种行为是由语言决定的。打开新的Word文件时,如果打开了段落标记(可见),则会在单个段落标记之前看到插入点。这反映在ISO/IEC29500 Word规范中,文档(w:body元素)必须包含一个或多个段落才能有效。不幸的是,这意味着您需要处理新文档的第一段,而不是以后添加的段落。在
如果需要,可以在开始添加内容之前删除第一段:
如果在此调用后保存而不添加任何内容,.docx文件将无效,可能无法加载或可能需要“修复”步骤。但只要添加内容,这将很好地工作,而且其优点是添加段落是统一的,即添加第一段与添加后面的段落的方式相同。在
否则,您需要获取第一段,并将其与其他段落分开操作:
^{pr2}$这对我有用:)
开/关:
多洛勒姆。在
问题:
我认为这是因为您正在添加手动创建的现有文档(空文档)(不使用python docx)。似乎在创建文档时,
paragraphs[0]
是创建的,因此当您使用add_paragraph()
添加新段落时,它正在创建另一个段落paragraphs[1]
,第一个段落为空。在解决方案:
有两种解决方案:
或者将文本插入段落[0],而不是创建新段落:
或您可以使用python docx创建一个新文档,然后使用
^{pr2}$add_paragraph()
,即paragraphs[0]
(不更改header_build函数):相关问题 更多 >
编程相关推荐