无法设置字体大小和 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

我尝试了不同的命令顺序,但没有任何效果。


牧羊人nacy
浏览 204回答 2
2回答

千巷猫影

接受我还没有开始玩 docx(我主要使用 Excel python 模块),但是根据此处的文档,您似乎正在修改错误的样式属性。根据 rtl 属性的这个定义,Font 属性只会修改添加的运行(通过 myparagraph.add_run("Hello World", style = "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')再次,只是关闭文档,所以让我知道这是否有效
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python