python操作word设置字体 电脑版发表于:2020/8/7 17:31 **设置字体** ``` from docx.shared import Pt file=docx.Document() #创建内存中的word文档对象 #设置字体样式(字体大小与字体样式) mystyle = file.styles["Header"] font = mystyle.font font.size = Pt(12.5) font.name = '宋体' head.paragraphs[0].style = mystyle ``` 其中字号与数字的对应如下: >初号=42磅 小初=36磅 一号=26磅 小一=24磅?二号=22磅 小二=18磅 三号=16磅 小三=15磅?四号=14磅 小四=12磅 五号=10.5磅 小五=9磅?六号=7.5磅 小六=6.5磅 七号=5.5磅 八号=5磅? tn> 注意设置中文字体的时候直接是不行的 需要使用如下的写法,两个一起用 ``` #这里需要引入一个qn from docx.oxml.ns import qn mystyle = file.styles["Normal"] font = mystyle.font font.size = Pt(10.5) font.name = u'宋体' font._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') head.paragraphs[0].style = mystyle ``` 当然如果想全局设置字体的话可以这样做 ``` from docx.oxml.ns import qn document.styles['Normal'].font.name = u'宋体' document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') ``` >docx内置的样式都可以通过document.styles取到。 正文是Normal, 标题样式根据标题声明的基本,分别从Heading 1 到Heading 9, 另外还有table、list等各种word对应的样式。可以通过遍历document.styles查看。