我正在使用以下代码:
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函数时,其想法是:
header_build(self, boldText='Owner: ', dataText='Name')
得到以下内容:
所有者:姓名
问题是我要尝试获取的文本之前要换行。
最佳答案
问题:
我认为这是因为您要添加到手动创建的现有文档(该文档为空)(不使用python-docx)。好像在创建文档时创建了paragraphs[0]
,因此当您使用add_paragraph()
添加新段落时,它正在创建另一个段落paragraphs[1]
,而第一段为空。
解:
有两种解决方案:
您可以在段落[0]中插入文本,而不是创建新的段落:
def header_build(self, boldText, dataText):
# paragraph[0]
p= self.document.paragraphs[0]
p.style = 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)
print p.text
或者,您可以使用python-docx创建一个新文档,然后使用将为
add_paragraph()
的paragraphs[0]
(不对header_build函数进行任何更改):# create a new document
document = Document()
关于python - docx中的add_paragraph()添加换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42963372/