网上很多关于修改中文字体和颜色的文章,很多大佬写的非常精彩,我这里综合了一下,搞个简单粗暴的,但这个字体也只是修改了这一段的字体,如果还要控制到每个字的字体不一样,也是不行的,还需要改进。
from docx import Document
from docx.oxml.ns import qn
from docx.enum.style import WD_STYLE_TYPE
def font_setting(doc,text,font_cn,font_color):#font_color输入格式:\'250,0,0\' 三个0-255之间的数字
style_add = doc.styles.add_style(font_cn, WD_STYLE_TYPE.CHARACTER)
style_add.font.name = font_cn
doc.styles[font_cn]._element.rPr.rFonts.set(qn(\'w:eastAsia\'), font_cn)
par = doc.add_paragraph()
text = par.add_run(text, style=font_cn)
text = font.color.rgb = RGBColor(int(font_color.split(\',\')[0]),int(font_color.split(\',\')[1]),int(font_color.split(\',\')[2]))
doc = Document()
a = \'枯藤老树昏鸦,小乔在下水里洗澡\'
b = \'古道西风瘦马\'
c = \'夕阳西下,孔明在偷窥\'
font_setting(doc,a,\'宋体\',\'250,0,0\')
font_setting(doc,b,\'华文中宋\',\'250,250,0\')
font_setting(doc,c,\'黑体\',\'0,250,250\')
doc.save(\'测试文档.docx\')