В настоящее время я пытаюсь сгенерировать документ слов с помощью docxtpl. Однако я не могу понять, как добавить стиль слова к объекту Richtext, когда имя стиля включает пробел, поскольку стиль не применяется в документе слова. В других случаях, когда стиль называется одним словом, он отлично работает. Вот мой текущий код:Как применить стили Word к объекту Richtext? (библиотека docxtpl)
from bs4 import BeautifulSoup
from docxtpl import DocxTemplate, RichText
html = "<html><body><p><p>I am a paragraph generated by python.</p></p><ul><li>List 1 item 1</li><li>List 1 item " \
"2</li></ul><p>Example below:</p><li>List 2 item 1</li><li>List 2 item 1</li><p>End paragraph</p></body></html> "
def main():
soup = BeautifulSoup(html, 'html.parser').find_all()
rt = RichText()
for tag in soup:
if tag.name == 'p' and tag.parent.name != 'p':
print tag.text
rt.add(tag.text + "\n\n")
elif tag.name == 'li' and tag.parent.name != 'li':
rt.add(tag.text + "\n", style='Subtle Reference')
output_data = {"data": rt}
tpl = DocxTemplate('template.docx')
tpl.render(output_data)
tpl.save('output.docx')
Дзиндзя код в текстовый документ:
{{r data}}
Я создал вопрос о gitlab с этим, но было интересно, если кто-то использовал эту библиотеку до и имел любая хорошая работа вокруг?