更改文字字體是編輯和美化Word文檔時的一項常見需求,使用合適的字體不僅可以提升文檔的整體視覺效果,還能突顯關鍵信息,使得內容更加突出。然而,手動更改每一個文字的字體既繁瑣又費時。因此,掌握一種高效的方法來自動更改Word文檔中的文字字體顯得尤為重要。本文將介紹如何通過Python代碼更改Word文檔字體,實現批量操作與自動化。
- 用Python更改Word文檔整個段落的字體
- 用Python更改Word文檔指定文本的字體
本文所使用的方法需要用到Spire.Doc for Python,PyPI:pip install Spire.Doc。
申請免費License
用Python更改Word文檔整個段落的字體
Word文檔中的段落格式可以獲取為ParagraphStyle對象,其中包含段落格式、字體格式等信息。我們可以獲取一個段落的段落樣式,根據此樣式創建一個新的樣式並修改字體格式和樣式名稱,最後再將這個新的樣式應用到該段落。這樣就可以在不改變其他格式的情況下修改這個段落的字體格式。
以下是操作步驟示例:
- 導入所需模塊。
- 創建
Document實例,使用Document.LoadFromFile()方法載入Word文檔。 - 使用
Document.Sections.get_Item().Paragraphs.get_Item()方法獲取文檔的一個段落。 - 使用
Document.Styles.FindByName(Paragraph.StyleName)方法獲取此段落的段落樣式對象。 - 使用
Style.Clone()方法根據獲取到的段落樣式創建一個新的段落樣式。 - 通過
IStyle.Name屬性設置段落樣式的名稱。 - 通過
IStyle.CharacterFormat下的屬性設置段落的字體格式。 - 使用
Document.Styles.Add()方法將新的段落樣式添加到文檔中。 - 使用
Paragraph.ApplyStyle()方法應用新的段落樣式到該段落。 - 使用
Document.SaveToFile()方法保存文檔。 - 釋放資源。
代碼示例
from spire.doc import * # 導入 Spire.Doc 模塊
# 創建一個 Document 類的實例
doc = Document()
# 加載一個 Word 文檔
doc.LoadFromFile("示例.docx")
# 獲取第二個段落
para = doc.Sections.get_Item(0).Paragraphs.get_Item(1)
# 獲取第二個段落的樣式
style = doc.Styles.FindByName(para.StyleName)
# 根據第二個段落的樣式創建一個新的樣式
newStyle = style.Clone()
# 設置新段落樣式的名稱
newStyle.Name = "NewStyle"
# 設置新段落樣式的字體
newStyle.CharacterFormat.FontName = "HarmonyOS Sans SC"
newStyle.CharacterFormat.FontSize = 14
newStyle.CharacterFormat.TextColor = Color.get_Red()
newStyle.CharacterFormat.Bold = True
newStyle.CharacterFormat.Italic = True
# 將新的段落樣式添加到文檔中
doc.Styles.Add(newStyle)
# 為第二個段落應用新樣式
para.ApplyStyle(newStyle.Name)
# 保存文檔
doc.SaveToFile("output/ChangeWordParagraphFont.docx")
doc.Close() # 關閉文檔
結果
用Python更改Word文檔指定文本的字體
要更改Word文檔中特定文本(字母、短語或句子)的字體,首先需要從文檔中找到該文本,然後為其設置不同的字體格式。具體步驟如下。
- 導入所需模塊。
- 創建一個
Document實例。 - 使用
Document.LoadFromFile()方法加載 Word 文檔。 - 使用
Document.FindAllString()方法查找要更改字體顏色的文本。 - 循環瀏覽搜索到的文本的所有匹配項,並通過
TextSelection.GetAsOneRange().CharacterFormat對象下的屬性更改每個匹配項的字體格式。 - 使用
Document.SaveToFile()方法保存文檔。 - 釋放資源。
代碼示例
from spire.doc import * # 導入 Spire.Doc 模塊
# 創建一個 Document 實例
document = Document()
# 加載一個 Word 文檔
document.LoadFromFile('示例.docx')
# 查找要更改字體的文字
textSelections = document.FindAllString('巧克力餅', False, True)
# 更改文字的字體樣式
for selection in textSelections:
range = selection.GetAsOneRange()
range.CharacterFormat.TextColor = Color.get_Red()
range.CharacterFormat.Bold = True
range.CharacterFormat.Italic = True
# 保存結果文檔
document.SaveToFile('output/ChangeWordTextFont.docx', FileFormat.Docx)
document.Close() # 關閉文檔
結果
本文介紹瞭如何使用Python更改Word文檔段落或文本的字體格式。
更多Word文檔處理技巧請前往Spire.Doc for Python教程查看。