我正在使用以下代码:
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/