在用Python對(duì)word進(jìn)行操作的過(guò)程中苦蒿,增加的一個(gè)段落可以自己設(shè)置該段落的字體大小胚吁、顏色、行間距等參數(shù)煞檩,如下所示:
doc=Document()#創(chuàng)建一個(gè)空白文檔
p=doc.add_paragraph()#給文檔增加一個(gè)段落
p.paragraph_format.space_before=Pt(0)#設(shè)置段落 段前 0 磅
p.paragraph_format.space_after=Pt(0) #設(shè)置段落 段后 0 磅
p.paragraph_format.line_spacing=1.5 #設(shè)置該段落 行間距為 1.5倍
#p.paragraph_format.first_line_indent=Inches(0.5) #段落首行縮進(jìn)為 0.5英寸
p.paragraph_format.first_line_indent=Inches(0.3346457)#相當(dāng)于小四兩個(gè)字符的縮進(jìn)
p.paragraph_format.left_indent=Inches(0)#設(shè)置左縮進(jìn) 1英寸
p.paragraph_format.right_indent=Inches(0)#設(shè)置右縮進(jìn) 0.5 英寸
#給段落增加一段文字
r=p.add_run("違反接收到了附近雙龍奪鳳塑料袋積分上島咖啡山東礦機(jī)發(fā)雙龍奪鳳"\
+"水電費(fèi)水電費(fèi)水電費(fèi)電飯鍋電飯鍋?zhàn)尨蟾绱缶V很多個(gè)人盯人電飯鍋"\
+"如果電飯鍋電飯鍋?zhàn)尨蟾绲姆阑缶V而二哥電飯鍋仍大綱二個(gè)電飯鍋"\
+"爾特人二柔荑花任天野兒童問(wèn)題5人員柔荑花土樣任天野兒童兒童而已")
r.font.name=u'宋體' #設(shè)置為宋體
r._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')#設(shè)置為宋體粘招,和上邊的一起使用
r.font.size=Pt(12) #設(shè)置字體大小為12磅 相當(dāng)于 小四
r.font.color.rgb=RGBColor(0,0,0)#設(shè)置顏色為黑色
此種方法雖然可以完成對(duì)段落樣式的設(shè)置啥寇,但是沒(méi)增加一個(gè)段落都要重新設(shè)置樣式,因此可以設(shè)置一個(gè)統(tǒng)一的樣式洒扎,各個(gè)段落都可以采用辑甜,也可以設(shè)置統(tǒng)一的標(biāo)題,各個(gè)標(biāo)題都可以采用袍冷,具體代碼如下所示:代碼中 "Normal"表示正文的樣式磷醋,["Heading 2"]表示2級(jí)標(biāo)題的樣式,當(dāng)然一級(jí)標(biāo)題的樣式關(guān)鍵字為["Heading 1"]
import docx
from docx import Document #用來(lái)建立一個(gè)word對(duì)象
from docx.shared import Pt #用來(lái)設(shè)置字體的大小
from docx.shared import Inches
from docx.oxml.ns import qn #設(shè)置字體
from docx.shared import RGBColor #設(shè)置字體的顏色
from docx.enum.text import WD_ALIGN_PARAGRAPH #設(shè)置對(duì)其方式
#創(chuàng)建一個(gè)空白的word文檔
doc=Document()
doc.styles["Normal"].font.name=u"宋體" #設(shè)置全局字體
doc.styles["Normal"]._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
doc.styles["Normal"].font.color.rgb=RGBColor(255,0,0)#設(shè)置正文全局顏色為紅色
doc.styles["Normal"].font.size=Pt(29)#設(shè)置正文全局大小為29
doc.styles["Heading 2"].font.size=Pt(29)#設(shè)置全局2級(jí)標(biāo)題的字體大小為29
p=doc.add_paragraph()
r=p.add_run("違反接收")#這個(gè)段落使用的是Normal的樣式
para_heading=doc.add_heading('',level=2)#返回1級(jí)標(biāo)題段落對(duì)象胡诗,標(biāo)題也相當(dāng)于一個(gè)段落
run=para_heading.add_run(u"前言")#這個(gè)使用的是"Heading 2" 的樣式
doc.save("特殊字體.docx")