網上很多關於修改中文字體和顏色的文章,很多大佬寫的非常精彩,我這里綜合了一下,搞個簡單粗暴的,但這個字體也只是修改了這一段的字體,如果還要控制到每個字的字體不一樣,也是不行的,還需要改進。
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')