博客 / 詳情

返回

用Python創建、讀取和修改Word文檔

自動化文檔處理是提升工作效率的關鍵路徑之一,而Python憑藉其簡潔語法和豐富的生態工具鏈,是實現文檔自動化處理的理想工具。通過編程手段批量生成結構規範的合同模板、動態注入數據分析結果生成可視化報告,或是快速提取海量文檔中的關鍵信息,這種代碼驅動的工作流不僅消除了人工重複操作帶來的誤差風險,更將文檔處理從機械勞動升級為可擴展的智能系統。本文將介紹如何使用Python實現Word文檔的創建、讀取及修改

  • 用Python創建Word文檔
  • 用Python讀取Word文檔文本
  • 用Python修改Word文檔

本文所使用的方法需要用到免費的Free Spire.Doc for Python,PyPI:pip install spire.doc.free

用Python創建Word文檔

我們可以通過創建Document實例來創建Word文檔,然後在文檔中添加節(Document.AddSection)、段落(Section.AddParagraph)以及文本(Paragraph.AppendText),並對其進行格式設置,從而實現個性化的Word文檔創建。以下是操作步驟示例:

  1. 實例化Document類從而創建Word文檔。
  2. 使用Document.AddSection()方法在文檔中添加一個節,並通過Section.PageSetup自定義節的頁面設置。
  3. 通過ParagraphStyle類創建段落樣式並使用Document.Styles.Add()方法將樣式添加到文檔中。
  4. 使用Section.AddParagraph()方法在節中添加段落。
  5. 使用Paragraph.ApplyStyle()方法應用段落樣式。
  6. 使用Document.SaveToFile()方法或Document.SaveToStream()方法保存創建的文檔。
  7. 釋放資源。

代碼示例

from spire.doc import *

# 實例化Document類從而創建Word文檔
doc = Document()

# 添加一個節到文檔中
section = doc.AddSection()
# 設置頁邊距
section.PageSetup.Margins.Top = 50
section.PageSetup.Margins.Bottom = 50
section.PageSetup.Margins.Left = 50
section.PageSetup.Margins.Right = 50

# 添加標題段落
titleParagraph = section.AddParagraph()
titleParagraph.AppendText("數字時代的隱秘角落")
titleParagraph.ApplyStyle(BuiltinStyle.Heading2)

# 創建正文段落樣式
bodyStyle = ParagraphStyle(doc)
bodyStyle.Name = "BodyStyle"
bodyStyle.CharacterFormat.FontName = "黑體"
bodyStyle.CharacterFormat.FontSize = 12
bodyStyle.CharacterFormat.TextColor = Color.get_Brown()
# 將樣式添加到文檔中
doc.Styles.Add(bodyStyle)

# 添加正文段落
bodyParagraph = section.AddParagraph()
bodyParagraph.AppendText("在這個高度數字化的時代,每一秒鐘都有海量的信息被創建、分享和遺棄。"
                         "我們習慣於快速滾動過無數的更新動態,追逐最新的趨勢和技術。"
                         "然而,在這個過程中,許多珍貴的“網絡遺產”正在被悄然遺忘。"
                         "這些遺產包括早期互聯網用户的創意作品、已停止運營的在線社區的記憶以及那些曾經風靡一時但現在無人問津的數字內容。"
                         "它們不僅僅是數據堆砌而成的遺蹟,更是人類探索數字領域歷程的見證。"
                         "通過探索這些被遺忘的角落,我們可以更好地理解互聯網文化的發展脈絡,並從中汲取對未來創新有益的經驗與教訓。"
                         "這不僅是一次對過去的回顧,更是一場關於如何在瞬息萬變的數字世界中保存人類共同記憶的深刻思考。")
# 將正文段落樣式應用到段落中
bodyParagraph.ApplyStyle(bodyStyle.Name)

# 保存文檔
doc.SaveToFile("output/Example.docx", FileFormat.Docx2019)
doc.Close()

結果
Python創建Word文檔

用Python讀取Word文檔文本

如果我們需要讀取現有Word文檔中的文本內容為字符串,從而方便進行其他操作或進一步處理,可以使用Document.LoadFromFileDocument.LoadFromStream方法載入Word文檔,然後直接使用Document.GetText方法獲取文檔中的所有文本內容。以下是操作步驟示例:

  1. 創建Document對象。
  2. 使用Document.LoadFromFile()方法從文件載入Word文檔,或使用Document.LoadFromStream()方法從流載入Word文檔。
  3. 使用Document.GetText()方法獲取文檔中的所有文本內容。
  4. 輸出讀取的內容或用於其他操作。

代碼示例

from spire.doc import Document

# 創建Document對象
doc = Document()

# 載入Word文檔
doc.LoadFromFile("output/Example.docx")

# 獲取文檔中的所有文本為字符串
text = doc.GetText()

# 輸出獲取到的字符串
print(text)

結果
Python讀取Word文檔文本

用Python修改Word文檔

我們也可以使用Free Spire.Doc for Python載入Word文檔,並直接使用庫中的類和方法對文檔進行修改。以下是操作步驟示例:

  1. 創建Document對象。
  2. 使用Document.LoadFromFile()方法從文件載入Word文檔,或使用Document.LoadFromStream()方法從流載入Word文檔。
  3. 使用Document.Sections.get_Item()方法獲取一個節。
  4. 使用Section.PageSetup下的屬性修改頁面設置。
  5. 使用Section.Paragraphs.get_Item()方法獲取節中的段落。
  6. 使用Paragraph.Text屬性設置新的段落文本。
  7. 使用Paragraph.ApplyStyle()方法更改段落樣式。
  8. 使用Document.SaveToFile()方法或Document.SaveToStream()方法保存修改後的文檔。

代碼示例

from spire.doc import Document, BuiltinStyle

# 創建Document對象
doc = Document()

# 載入Word文檔
doc.LoadFromFile("output/Example.docx")

# 獲取文檔第一節
section = doc.Sections.get_Item(0)

# 修改節的左右頁邊距
section.PageSetup.Margins.Left = 100
section.PageSetup.Margins.Right = 100

# 獲取節中的第一個段落
para = section.Paragraphs.get_Item(0)

# 修改段落文本
para.Text = "探索被遺忘的網絡遺產"

# 修改段落樣式
para.ApplyStyle(BuiltinStyle.Heading1)

# 保存修改後的文檔
doc.SaveToFile("output/ModifiedExample.docx")
doc.Close()

結果
Python修改Word文檔

本文演示瞭如何使用Python創建、讀取和修改Word文檔,為Word文檔自動化處理提供高效的解決方案。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.