Я создал в проекте вспомогательный класс, который я называю 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')