<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
上一章節我們學習瞭如何生成 word 檔案以及在檔案行中新增各種內容,今天我們基於上一章節的內容進行添磚加瓦 —> 對內容進行各種樣式的設定,讓其能夠看起來更加的美觀。
通過全域性樣式的設定,可以使得 word 全文都可以繼承這樣的樣式效果:
使用方法:
style = document_obj.styles['Normal']
通過 Document 物件呼叫 styles 物件集,通過中括號的方式選擇全域性樣式,獲得 樣式物件 。
for style in document_obj.styles: # 通過 for 迴圈可以檢視 styles 物件集 print(style)
styles 物件集如下:
全域性定義的基本樣式舉例:
字型:style.font.name = '微軟雅黑'
字型顏色:style.font.color.rgb = RGBColor(255, 0, 0)
通過 from docx.shared import RGBColor
呼叫 docx 包的三原色模組
字型大小:style.font.size = Pt(20)
通過 from docx.shared import Pt
呼叫 docx 包的字型大小設定模組
程式碼範例如下:(在上一章節的程式碼基礎上進行 全域性樣式的程式碼演示)
# coding:utf-8 from docx import Document from docx.shared import Inches, RGBColor, Pt doc = Document() style = doc.styles['Normal'] # 使用標準樣式 style.font.name = '微軟雅黑' # 使用 "微軟雅黑" 字型 style.font.color.rgb = RGBColor(255, 0, 0) # 使用紅色作為字型顏色 style.font.size = Pt(25) title = doc.add_heading('this is title', 1) # 新增 word 檔案的 title 標題 title.add_run('n - 測試版本') # 針對 title 標題進行內容追加(換行) para = doc.add_paragraph('這是 "test.docx" 檔案的第一行段落') para.add_run('n這是 "test.docx" 檔案追加的的第二行段落') image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5)) # 新增圖片 table_title = ['name', 'age', 'sex'] # 定義表格的第一行的標題 table = doc.add_table(rows=1, cols=3) # 定義表格的行數、列數 table_cells = table.rows[0].cells # 將 table_title 的每列的名稱寫入表格 table_cells[0].text = table_title[0] table_cells[1].text = table_title[1] table_cells[2].text = table_title[2] data = [ # 定義 data 的內容,準備將其追加寫入表格 ('Neo', '18', 'man'), ('Adem', '17', 'man'), ('Lily', '18', 'women') ] for i in data: # 利用 for 迴圈將 data 追加寫入表格 row_cells = table.add_row().cells row_cells[0].text = i[0] row_cells[1].text = i[1] row_cells[2].text = i[2] doc.add_page_break() # 新增 word 檔案的分頁 title = doc.add_heading('this is page_2 title', 1) # 新增 word 檔案的第二分頁的 title 標題 doc.save('test.docx')
執行結果如下:
標題與段落
從上面的截圖可以看出,當我們設定全域性字型的顏色和大小的時候,只有段落收到了影響,而標題未受影響,這就引出了文字的樣式。
字型:
obj.font.name = "微軟雅黑"
這裡的 obj
就表示的是 標題與段落的物件
;與設定全域性字型的方式一致。
字型顏色:
obj.font.color.rgb = RGBColor(255, 0, 0)
字型大小:
obj.font.size = Pt(20)
標題居中:
obj.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
需要匯入:from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
PS:除了居中之外,還可以居左、居右;left 或者 right
字型斜體:
obj.italic = True
為 True 是斜體;為 False 則是正常字型
字型粗體:
obj.blod = True
為 True 是粗體;為 False 則是正常字型
字型下劃線:
obj.underline = True
為 True 是增加下劃線;為 False 則是正常字型
程式碼範例如下:
# coding:utf-8 from docx import Document from docx.shared import Inches, RGBColor, Pt from docx.enum.text import WD_PARAGRAPH_ALIGNMENT doc = Document() style = doc.styles['Normal'] # 使用標準樣式 style.font.name = '微軟雅黑' # 使用 "微軟雅黑" 字型 # style.font.color.rgb = RGBColor(255, 0, 0) # 使用紅色作為字型顏色 style.font.size = Pt(14) title = doc.add_heading('', 0) # 新增 word 檔案的 title 標題;(需要注意的是,這裡第一行的標題是不能設定為斜體等型別的) # 若想要將標題設定為斜體,需在這一行標題內容為空,然後針對追加內容寫入標題設定為斜體 title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 標題居中 title.style.font.size = Pt(20) title_run = title.add_run('this is titlen測試版本') # 針對 title 標題進行內容追加(換行) title_run.italic = True # 將追加的內容轉為斜體字 title_run.blod = True # 將追加的內容轉為粗體字 title_run.underline = True # print(dir(title)) # 通過 dir 函數檢視當前 title 標題可以使用的更多有趣的函數 para = doc.add_paragraph('這是 "test.docx" 檔案的第一行段落') para.add_run('n這是 "test.docx" 檔案追加的的第二行段落').italic = True # 將第二行段落設定為斜體 para.add_run('n這是 "test.docx" 檔案追加的的第三行段落').blod = True # 將第三行段落設定為粗體 para.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 將段落設定為居中顯示 print(dir(para)) # 通過 dir 函數檢視當前 para 段落可以使用的更多有趣的函數 image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5)) # 新增圖片 table_title = ['name', 'age', 'sex'] # 定義表格的第一行的標題 table = doc.add_table(rows=1, cols=3) # 定義表格的行數、列數 table_cells = table.rows[0].cells # 將 table_title 的每列的名稱寫入表格 table_cells[0].text = table_title[0] table_cells[1].text = table_title[1] table_cells[2].text = table_title[2] data = [ # 定義 data 的內容,準備將其追加寫入表格 ('Neo', '18', 'man'), ('Adem', '17', 'man'), ('Lily', '18', 'women') ] for i in data: # 利用 for 迴圈將 data 追加寫入表格 row_cells = table.add_row().cells row_cells[0].text = i[0] row_cells[1].text = i[1] row_cells[2].text = i[2] doc.add_page_break() # 新增 word 檔案的分頁 title = doc.add_heading('this is page_2 title', 1) # 新增 word 檔案的第二分頁的 title 標題 doc.save('test.docx')
執行結果如下:
到此這篇關於Python設定Word全域性樣式和文字樣式的範例程式碼的文章就介紹到這了,更多相關Python Word樣式內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45