
设置字体
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磅?
注意设置中文字体的时候直接是不行的
需要使用如下的写法,两个一起用
#这里需要引入一个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查看。
评价