在數字化辦公場景中,Word文檔作為主流文件格式承載着大量商務文書與學術資料。傳統手動調整字體格式的操作模式存在顯著侷限性:當面對批量文檔處理、動態內容生成或企業級模板維護時,逐一手工修改不僅效率低下,更難以保障格式規範的統一性。通過Python實現文檔字體的程序化控制,能夠有效構建自動化處理流程,在確保排版精準度的同時,顯著提升文檔批量化操作能力。本文將介紹如何使用Python修改Word文檔段落或文本的字體。
- 修改Word文檔段落字體
- 查找Word文檔文本並修改字體
本文所使用的方法需要用到免費的Free Spire.Doc for Python,PyPI:pip install spire.doc.free。
修改Word文檔段落字體
修改Word文檔指定段落的文本可以通過新建Word文檔段落樣式,並將其應用到指定段落來實現。以下是操作步驟:
- 創建
Document對象並使用LoadFromFile讀取Word文檔。 - 使用
Sections.get_Item(0)獲取節,再用Paragraphs.get_Item(2)獲取節中的段落。 - 使用
ParagraphStyle類創建段落樣式,設置FontName、Bold、Italic和TextColor屬性。 - 使用
Styles.Add添加段落樣式到文檔,並用ApplyStyle將其應用於獲取的段落。 - 使用
SaveToFile保存Word文檔。 - 釋放資源。
代碼示例
from spire.doc import Document, ParagraphStyle, Color
# 創建 Document 實例
doc = Document()
# 讀取 Word 文檔
doc.LoadFromFile('Sample.docx')
# 獲取第一個節
section = doc.Sections.get_Item(0)
# 獲取特定的段落
paragraph = section.Paragraphs.get_Item(2)
# 創建段落樣式
style = ParagraphStyle(doc)
style.Name = 'ParaFont'
style.CharacterFormat.FontName = 'Arial'
style.CharacterFormat.Bold = True
style.CharacterFormat.Italic = True
style.CharacterFormat.TextColor = Color.get_Red()
doc.Styles.Add(style)
# 將樣式應用於段落
paragraph.ApplyStyle(style.Name)
# 保存結果文檔
doc.SaveToFile('output/ChangeParaFont.docx')
doc.Dispose()
結果
查找Word文檔文本並修改字體
我們可以使用Document.FindAllString()方法查找Word文檔中的指定文本,然後使用遍歷查找到的列表,使用TextSelection.GetAsOneRange()方法將其獲取為文本區域,並通過其下的CharacterFormat屬性修改其字體樣式。以下是操作步驟:
- 創建
Document對象並使用LoadFromFile讀取Word文檔。 - 使用
Document.FindAllString()方法查找Word文檔中的指定文本。 - 遍歷查找到的列表,使用
TextSelection.GetAsOneRange()方法將其獲取為文本區域。 - 通過
CharacterFormat屬性修改字體樣式。 - 使用
SaveToFile保存Word文檔。 - 釋放資源。
代碼示例
from spire.doc import Document, Color
# 創建 Document 實例
doc = Document()
# 讀取 Word 文檔
doc.LoadFromFile('Sample.docx')
# 查找需要更改字體的文本
textSelections = doc.FindAllString('transformed workplace dynamics', False, True)
# 修改文本的字體樣式
for selection in textSelections:
selection.GetAsOneRange().CharacterFormat.TextColor = Color.get_Red()
selection.GetAsOneRange().CharacterFormat.Bold = True
# 保存結果文檔
doc.SaveToFile('output/ChangeTextFont.docx')
doc.Dispose()
結果