python docx如何设置中文字体和颜色


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

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')


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM