夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
python-docx中设置中文字体

需要额外导入qn:

from docx.oxml.ns import qn

设置中文字体与西文字体不同,可能是word内部处理方式不同,主要是通过以下这句:

style.element.rPr.rFonts.set(qn('w:eastAsia'), '宋体') # style中
r._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋_GB2312') # run中

以下给出在style和run中设置的代码。

style中的设置

更改现有style
style = document.styles['Normal']
style.font.name = 'Times New Roman' # 必须先设置font.name
style.font.size = Pt(14)
style.element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')
创建新style
mystyle = document.styles.add_style('titlepage_title', WD_STYLE_TYPE.PARAGRAPH)
mystyle.font.name = 'Times New Roman'   # 必须先设置font.name
mystyle.font.size = Pt(16)
mystyle.font.bold = True
mystyle.element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')
mystyle.paragraph_format.space_after = Pt(0)
# mystyle.paragraph_format.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE
mystyle.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
mystyle.paragraph_format.line_spacing = 1.8

对创建的段落应用设置好的style即可改变中文字体。

run(大概是指段落中的格式相同的一批字符)中的设置

p = document.add_paragraph()
r = p.add_run('文字')
r.font.name = '仿宋_GB2312'   # 必须先设置font.name
r._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋_GB2312')
r.font.size = Pt(14)

暂无评论

发送评论 编辑评论


				
上一篇
下一篇