Python-docx如何设置中文字体名称

在python-docx的手册里所讲的方法只能设置英文的字体,对中文字符的字体设置无效,如下:

from docx import Document

doc = Document()
para2 = doc.add_paragraph('而我是个狗屎'*50)
run1 = para2.add_run('字体字体'*20)
run1.font.name = '微软雅黑'
run1.font.size = Pt(24)
doc.save('test.docx')

运行后的效果字体仍然是默认的MS Mincho (中文正文)

此时,对中文字体的设置要修改如下:

from docx import Document
from docx.oxml.ns import qn  #引入必要的库

doc = Document()
para2 = doc.add_paragraph('而我是个狗屎'*50)
run1 = para2.add_run('字体字体'*20)
run1.font.name = 'Times New Roman'  #先设置一个英文字体,否则会报空值错误
run1._element.rPr.rFonts.set(qn('w:eastAsia'),'微软雅黑')  #通过这行代码设置中文字体
run1.font.size = Pt(24)
doc.save('test.docx')

运行后效果如下:

You may also like...

1 Response

  1. 2023-03-19

    <strong>best canadian pharmacies online https://pudbiascan.strikingly.com/</strong&gt;

    You said it adequately.!

发表回复