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