在 python-docx 中使用 font.name 或 font.size 时无法使用 RTL 方向
Can't use RTL direction when using font.name or font.size in python-docx
我正在使用 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
只是拉丁字体的设置,因为这是最常见的。 built-in python-pptx
不支持设置草书字体,但如果您四处搜索,您可能会发现有人设法完成了它。
另一个问题有一些信息:
我在 python-docx arabic font
上搜索找到的。
您还可以考虑创建一个“起始”或“模板”.docx 文件,您使用
加载
document = docx.Document("my-template-document.docx")
然后您可以使用 Word 制作您想要的所有段落样式和其他文档设置,然后 python-docx
在您需要的地方使用这些样式。
我正在使用 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
只是拉丁字体的设置,因为这是最常见的。 built-in python-pptx
不支持设置草书字体,但如果您四处搜索,您可能会发现有人设法完成了它。
另一个问题有一些信息:
我在 python-docx arabic font
上搜索找到的。
您还可以考虑创建一个“起始”或“模板”.docx 文件,您使用
加载document = docx.Document("my-template-document.docx")
然后您可以使用 Word 制作您想要的所有段落样式和其他文档设置,然后 python-docx
在您需要的地方使用这些样式。