天天看點

python word字型顔色_python操作word設定字型

**設定字型**

```

from docx.shared import Pt

file=docx.Document() #建立記憶體中的word文檔對象

#設定字型樣式(字型大小與字型樣式)

mystyle = file.styles["Header"]

font = mystyle.font

font.size = Pt(12.5)

font.name = '宋體'

head.paragraphs[0].style = mystyle

```

其中字号與數字的對應如下:

>初号=42磅 小初=36磅 一号=26磅 小一=24磅?二号=22磅 小二=18磅 三号=16磅 小三=15磅?四号=14磅 小四=12磅 五号=10.5磅 小五=9磅?六号=7.5磅 小六=6.5磅 七号=5.5磅 八号=5磅?

tn> 注意設定中文字型的時候直接是不行的

需要使用如下的寫法,兩個一起用

```

#這裡需要引入一個qn

from docx.oxml.ns import qn

mystyle = file.styles["Normal"]

font = mystyle.font

font.size = Pt(10.5)

font.name = u'宋體'

font._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')

head.paragraphs[0].style = mystyle

```

當然如果想全局設定字型的話可以這樣做

```

from docx.oxml.ns import qn

document.styles['Normal'].font.name = u'宋體'

document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')

```

>docx内置的樣式都可以通過document.styles取到。

正文是Normal, 标題樣式根據标題聲明的基本,分别從Heading 1 到Heading 9, 另外還有table、list等各種word對應的樣式。可以通過周遊document.styles檢視。