问题描述
我正在使用python-docx编写新的ms单词。
Python 3.8-Win10 x32
有代码:
doc = docx.Document()
style = doc.styles['Normal']
font = style.font
font.name = 'B Mitra'
font.size = docx.shared.Pt(13)
font.rtl = True
doc.add_paragraph("Hi in Persian= سلام")
doc.save("tst.docx")
在没有font.rtl=True
的情况下,font.size
和font.name
都将在段落上设置,但是当我使用font.rtl=True
时,大小和字体将不会设置。会确定正确的方向。
有什么想法吗?
感谢您的帮助
解决方法
一种样式可以具有多种字体,例如一种用于拉丁字符,另一种用于草书(用于阿拉伯语和波斯语等语言)。 style.font
仅是拉丁字体的设置,因为这是最常见的设置。虽然设置草书字体没有内置的python-pptx
支持,但是如果您四处搜索,可能会找到成功完成草稿字体的人。
另一个问题包含一些信息: python-docx add_style with CTL (Complex text layout) language
我通过搜索python-docx arabic font
找到了它。
此外,您还可以考虑创建一个使用其加载的“开始”或“模板” .docx文件
document = docx.Document("my-template-document.docx")
然后,您可以使用Word来设置所需的所有段落样式和其他文档设置,而只需python-docx
在所需的位置使用这些样式。