如何在 python-docx 中同时应用粗体和居中?
How do I apply both bold and center in python-docx?
我正在使用 python-docx 将文本输入 MS Word。我可以将它设为粗体或居中,但如何同时进行。
这是粗体:
p=document.add_paragraph().add_run('test word')
p.font.size = Pt(16)
p.bold = True
这里是中心:
p=document.add_paragraph('test word')
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
如何做到既加粗又居中?
在paragraph
和run
之间分开并分别定义:
p=document.add_paragraph()
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
r=p.add_run('test word')
r.font.size = Pt(16)
r.bold = True
您可以将p
设置为本段的参考,然后使用add_run()
添加您的文字。就像这样:
p = document.add_paragraph()
p.add_run('test word').bold = True
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
抱歉,我的图片上传不了,但是我试过了。
我在一个项目中创建了一个助手-class,我称之为 Text
。我们还添加了一个将文本添加到文档的功能。
现在我们可以这样做了:
add_Text([Text("NORMAL TEXT "),Text("BOLD TEXT",bold=True)]
该函数将确保运行在同一段落中。由于中心段落是段落的 属性 我在外面添加了它:
add_Text([Text("NORMAL TEXT "),Text("BOLD TEXT",bold=True), align='center']
这是我的意思的完整示例:
from docx import Document
from docx.shared import Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
class Text:
def __init__(self, text, bold=False, italic=False):
self.text = text
self.bold = bold
self.italic = italic
def add_text(textitems, align=False):
p = document.add_paragraph('')
if align == 'center':
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
for t in textitems:
r = p.add_run(t.text)
if t.bold:
r.bold = True
if t.italic:
r.italic = True
document = Document()
document.add_heading('Document Title', 0)
add_text([
Text('Text ', bold=True, italic=True),
Text('Text2', bold=False, italic=True)
], align='center')
add_text([
Text('Text ', bold=True, italic=True),
Text('Text2', bold=False, italic=True)
])
document.save('demo.docx')
我正在使用 python-docx 将文本输入 MS Word。我可以将它设为粗体或居中,但如何同时进行。
这是粗体:
p=document.add_paragraph().add_run('test word')
p.font.size = Pt(16)
p.bold = True
这里是中心:
p=document.add_paragraph('test word')
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
如何做到既加粗又居中?
在paragraph
和run
之间分开并分别定义:
p=document.add_paragraph()
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
r=p.add_run('test word')
r.font.size = Pt(16)
r.bold = True
您可以将p
设置为本段的参考,然后使用add_run()
添加您的文字。就像这样:
p = document.add_paragraph()
p.add_run('test word').bold = True
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
抱歉,我的图片上传不了,但是我试过了。
我在一个项目中创建了一个助手-class,我称之为 Text
。我们还添加了一个将文本添加到文档的功能。
现在我们可以这样做了:
add_Text([Text("NORMAL TEXT "),Text("BOLD TEXT",bold=True)]
该函数将确保运行在同一段落中。由于中心段落是段落的 属性 我在外面添加了它:
add_Text([Text("NORMAL TEXT "),Text("BOLD TEXT",bold=True), align='center']
这是我的意思的完整示例:
from docx import Document
from docx.shared import Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
class Text:
def __init__(self, text, bold=False, italic=False):
self.text = text
self.bold = bold
self.italic = italic
def add_text(textitems, align=False):
p = document.add_paragraph('')
if align == 'center':
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
for t in textitems:
r = p.add_run(t.text)
if t.bold:
r.bold = True
if t.italic:
r.italic = True
document = Document()
document.add_heading('Document Title', 0)
add_text([
Text('Text ', bold=True, italic=True),
Text('Text2', bold=False, italic=True)
], align='center')
add_text([
Text('Text ', bold=True, italic=True),
Text('Text2', bold=False, italic=True)
])
document.save('demo.docx')