博客 / 詳情

返回

使用 Python 在 Word 文檔中插入頁眉、頁腳

在企業日常工作中,專業的文檔排版對於報告、計劃書或彙報材料至關重要。頁眉頁腳不僅承載標題、公司名稱、日期信息,還能插入公司 Logo,使文檔更具規範性和識別度。手動操作容易出錯且效率低,而 Python 提供了自動化生成 Word 文檔的能力。本文將展示如何創建帶頁眉、頁腳和圖片的 Word 文檔,結合實際業務場景,構建標準化報告模板。

本文所用示例基於 Free Spire.Doc for Python。


1. 環境準備與安裝

在使用之前,需要安裝 Spire.Doc for Python:

pip install spire.doc.free

安裝完成後即可在 Python 中導入庫,創建 Word 文檔並進行內容和排版操作。


2. 創建文檔與分頁

首先創建 Word 文檔對象並添加節與分頁:

from spire.doc import Document, BreakType

# 創建文檔
document = Document()
section = document.AddSection()

# 添加分頁
section.AddParagraph().AppendBreak(BreakType.PageBreak)

技術説明與關鍵方法

  • Document 表示整個 Word 文檔對象。
  • AddSection() 創建新節,用於分節或分頁管理。
  • AppendBreak(BreakType.PageBreak) 添加分頁符,便於後續排版。

3. 插入頁眉文本

頁眉通常包含報告標題、公司名稱或日期信息,可採用多段落實現不同內容佈局:

from spire.doc import HorizontalAlignment

header = section.HeadersFooters.Header

# 左側文本:報告標題
header_para1 = header.AddParagraph()
header_para1.AppendText("月度銷售報告").CharacterFormat.FontSize = 12
header_para1.Format.HorizontalAlignment = HorizontalAlignment.Left

# 右側文本:公司名稱
header_para2 = header.AddParagraph()
header_para2.AppendText("公司名稱").CharacterFormat.FontSize = 12
header_para2.Format.HorizontalAlignment = HorizontalAlignment.Right

技術説明與關鍵方法

  • HeadersFooters.Header 獲取頁眉對象。
  • AddParagraph() 添加段落。
  • AppendText(text) 向段落中添加文本。
  • Format.HorizontalAlignment 設置段落水平對齊方式。
  • CharacterFormat.FontSize 設置文字大小。

4. 在頁眉中插入圖片

企業 Logo 或標識常放在頁眉,可通過以下方式插入:

from spire.doc import ShapeHorizontalAlignment, TextWrappingStyle

image = header_para1.AppendPicture("Image.jpg")  # 圖片路徑
image.Width = 40
image.Height = 40
image.TextWrappingStyle = TextWrappingStyle.InFrontOfText
image.HorizontalAlignment = ShapeHorizontalAlignment.Center

技術説明與關鍵方法

  • AppendPicture(path) 方法可插入本地圖片。
  • 可結合 DocPicture.HorizontalAlignment 設置圖片在段落中的位置。
  • 支持多段落組合文本與圖片,實現靈活排版。

5. 插入頁腳及頁碼

頁腳可包含頁碼和總頁數,增強文檔規範性:

from spire.doc import FieldType

footer = section.HeadersFooters.Footer
footer_para = footer.AddParagraph()
footer_para.Format.HorizontalAlignment = HorizontalAlignment.Center

footer_para.AppendText("第 ").CharacterFormat.FontSize = 12
footer_para.AppendField("PageNum", FieldType.FieldPage).CharacterFormat.FontSize = 12
footer_para.AppendText(" 頁,共 ").CharacterFormat.FontSize = 12
footer_para.AppendField("NumPages", FieldType.FieldNumPages).CharacterFormat.FontSize = 12
footer_para.AppendText(" 頁").CharacterFormat.FontSize = 12

技術説明與關鍵方法

  • HeadersFooters.Footer 獲取頁腳對象。
  • AppendField(fieldName, FieldType) 可插入 Word 域,如頁碼 FieldPage 和總頁數 FieldNumPages
  • 頁腳段落可使用 Format.HorizontalAlignment 設置居中或其他對齊方式。

6. 保存文檔並釋放資源

完成頁眉、頁腳及圖片設置後,將文檔保存並釋放資源:

from spire.doc import FileFormat

document.SaveToFile("Monthly_Report.docx", FileFormat.Docx)
document.Dispose()
print("文檔創建完成:Monthly_Report.docx")

技術説明與關鍵方法

  • SaveToFile(filename, FileFormat) 保存 Word 文檔。
  • Dispose() 釋放文檔對象佔用資源,確保文件不被鎖定。

結果文檔預覽

以下是使用上述代碼完成創建的 Word 文檔預覽:

Python在Word文檔中插入頁眉頁腳


7. 總結

本文介紹瞭如何使用 Python 在 Word 文檔中自動插入頁眉、頁腳和圖片,實現報告模板的自動化生成。通過編程可以靈活添加多段落文本、企業 Logo 以及動態頁碼,使文檔排版更加規範和專業。掌握 DocumentAddSection()HeadersFootersAddParagraph()AppendText()AppendPicture()AppendField() 等核心方法,就能夠高效創建符合業務需求的 Word 文檔,顯著提升文檔製作效率和一致性。
更多 Python 處理 Word 文檔技巧請前往 Spire.Doc for Python 官方教程查看。

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

發佈 評論

Some HTML is okay.