python 字体_python docx字体设置
首先引入依賴包
from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt,RGBColor
如果不進行字體手動設置的話,生成的文字字體格式就會千奇百怪,如下圖
Doc = Document()
Doc.add_heading("剛來csdn,這就是博客么,I了")
Doc.add_paragraph("Python ")
Doc.add_paragraph("Python 對word進行操作")
Doc.save("Python_word.docx")
可以看到自動配置的字體不是我們平常默認的宋體,而是一個歪果字體,無論是正文還是標題的字看著很亂。因此需要手動設置一下字體。
只需要在Doc = Document()下添加如下代碼,就可以設置文本內容字體,顏色等等,方法是對font成員進行屬性的修改。
Doc.styles['Normal'].font.name = u'宋體'
Doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
Doc.styles['Normal'].font.size = Pt(10.5)
Doc.styles['Normal'].font.color.rgb = RGBColor(0,0,0)
可以看到正文內容的字體已經變成了我們想要的樣子了,但藍圈的標題依然還是有問題,可能因為標題不屬于正文范圍內吧,需要單獨再設置一下。
對于標題來說,需要用這種方式設置字體
# 標題等級如1,2,3這些數字,一級標題二級標題這樣
Head = Doc.add_heading("",level=標題等級)# 這里不填標題內容
run = Head.add_run("真正要填寫的標題")
run.font.name=u'Cambria'
run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Cambria')
run.font.color.rgb = RGBColor(0,0,0)
第一行的地方不填標題內容,因為我沒有研究出來怎么修改他的大小和值,只能通過add_run的返回值來修改標題的內容。再運行的結果如下:
注意到顏色也發生了變化,是因為我最后一行修改了字體的顏色。
完整代碼
Doc = Document()
Doc.styles['Normal'].font.name = u'宋體'
Doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
Doc.styles['Normal'].font.size = Pt(10.5)
Doc.styles['Normal'].font.color.rgb = RGBColor(0,0,0)
Head = Doc.add_heading("",level=1)# 這里不填標題內容
run = Head.add_run("剛來csdn,這就是博客么,I了")
run.font.name=u'Cambria'
run.font.color.rgb = RGBColor(0,0,0)
run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Cambria')
Doc.add_paragraph("Python ")
Doc.add_paragraph("Python 對word進行操作")
Doc.save("Python_word.docx")
附:字體大小參照這篇博客的對照表:
字號‘八號’對應磅值5
字號‘七號’對應磅值5.5
字號‘小六’對應磅值6.5
字號‘六號’對應磅值7.5
字號‘小五’對應磅值9
字號‘五號’對應磅值10.5
字號‘小四’對應磅值12
字號‘四號’對應磅值14
字號‘小三’對應磅值15
字號‘三號’對應磅值16
字號‘小二’對應磅值18
字號‘二號’對應磅值22
字號‘小一’對應磅值24
字號‘一號’對應磅值26
字號‘小初’對應磅值36
字號‘初號’對應磅值42
原文鏈接:https://blog.csdn.net/weixin_42763696/article/details/105492135
總結
以上是生活随笔為你收集整理的python 字体_python docx字体设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poi设置列宽自适应_Sentinel
- 下一篇: python绘制动画示例_Python使