无法设置字体大小和 rtl
Can't set font size and rtl
使用 docx,我试图为 运行 定义多个属性。
当我设置颜色 rtl 时,它工作正常。
但是当我还添加字体大小时,它会被忽略。
如果我只设置字体大小,它工作正常。
这很好用(字体颜色改变并且 运行 从右到左):
run = p.add_run(line)
font = run.font
font.rtl = True
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
这也可以正常工作(修改了字体大小):
run = p.add_run(line)
font = run.font
font.size = Pt(8)
#font.rtl = True # commented out
但这不会改变字体的大小:
run = p.add_run(line)
font = run.font
font.size = Pt(8)
font.rtl = True
我尝试了不同的命令顺序,但没有任何效果。
已接受
我还没有开始玩 docx(我主要使用 Excel python 模块),但是根据此处的文档,您似乎在修改错误的 属性风格。根据 rtl 属性 的定义,字体 属性 只会修改添加的 运行(通过 myparagraph.add_run("Hello World",样式 = "rtl"))。据我所知,您要查找的代码是:
missingwords = Document()
style = missingwords.styles.add_style('rtl', WD_STYLE_TYPE.PARAGRAPH)
style.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT
然后您可以继续像以前一样添加段落
paragraph = missingwords.add_paragraph("Hello world",style='rtl')
再说一次,只是离开了文档,所以让我知道它是否有效
好的,找到了!
事实证明,在word中,这种情况的字体大小必须包括复杂的脚本指令。这意味着您必须添加
<w:szCs w:val="???"/>
代替(或补充)正常
<w:sz w:val="??"/>
我必须向 docx 库中的字体添加一个新属性,现在它可以正常工作了。更改在 3 个文档文件中:
text/font.py
oxml/__init.py__
oxml/text/font.py
以及我认为的用法:
run = p.add_run(line)
font = run.font
#font.size = Pt(8) This line is redundant - but you can leave it
font.cs_size = Pt(8)
font.rtl = True
向 docx 库添加了一个分支。在https://github.com/Oritk/python-docx
使用 docx,我试图为 运行 定义多个属性。 当我设置颜色 rtl 时,它工作正常。 但是当我还添加字体大小时,它会被忽略。 如果我只设置字体大小,它工作正常。
这很好用(字体颜色改变并且 运行 从右到左):
run = p.add_run(line)
font = run.font
font.rtl = True
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
这也可以正常工作(修改了字体大小):
run = p.add_run(line)
font = run.font
font.size = Pt(8)
#font.rtl = True # commented out
但这不会改变字体的大小:
run = p.add_run(line)
font = run.font
font.size = Pt(8)
font.rtl = True
我尝试了不同的命令顺序,但没有任何效果。
已接受 我还没有开始玩 docx(我主要使用 Excel python 模块),但是根据此处的文档,您似乎在修改错误的 属性风格。根据 rtl 属性 的定义,字体 属性 只会修改添加的 运行(通过 myparagraph.add_run("Hello World",样式 = "rtl"))。据我所知,您要查找的代码是:
missingwords = Document()
style = missingwords.styles.add_style('rtl', WD_STYLE_TYPE.PARAGRAPH)
style.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT
然后您可以继续像以前一样添加段落
paragraph = missingwords.add_paragraph("Hello world",style='rtl')
再说一次,只是离开了文档,所以让我知道它是否有效
好的,找到了! 事实证明,在word中,这种情况的字体大小必须包括复杂的脚本指令。这意味着您必须添加
<w:szCs w:val="???"/>
代替(或补充)正常
<w:sz w:val="??"/>
我必须向 docx 库中的字体添加一个新属性,现在它可以正常工作了。更改在 3 个文档文件中:
text/font.py
oxml/__init.py__
oxml/text/font.py
以及我认为的用法:
run = p.add_run(line)
font = run.font
#font.size = Pt(8) This line is redundant - but you can leave it
font.cs_size = Pt(8)
font.rtl = True
向 docx 库添加了一个分支。在https://github.com/Oritk/python-docx