Python設置Word全局樣式和文本樣式的示例代碼
上一章節我們學習瞭如何生成 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 title\n測試版本') # 針對 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樣式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python操作word文檔的示例詳解
- Python自動化辦公之Word文檔的創建與生成
- 詳解python-docx處理Word必備工具
- Python辦公自動化解決world文件批量轉換
- 使用python處理一萬份word表格簡歷操作