网上很多关于修改中文字体和颜色的文章,很多大佬写的非常精彩,我这里综合了一下,搞个简单粗暴的,但这个字体也只是修改了这一段的字体,如果还要控制到每个字的字体不一样,也是不行的,还需要改进。
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')