チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.Doc for Python»ヘッダーとフッター»Python:Word 文書にヘッダーとフッターを挿入する方法
2025-03-25

Python:Word 文書にヘッダーとフッターを挿入する方法

Word のヘッダーとフッターは、各ページの上部および下部の余白に配置されるセクションです。これには、ページ番号、文書タイトル、日付、作成者名などの情報を追加できます。通常、すべてのページで同じヘッダーやフッターが適用されますが、特定のシナリオでは、最初のページ、奇数ページ、偶数ページに異なるヘッダーやフッターを挿入することも可能です。本記事では、Spire.Doc for Python を使用して、Python で Word 文書にヘッダーとフッターを挿入する方法を説明します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python で Word 文書にヘッダーとフッターを挿入する

Word 文書にヘッダーやフッターを挿入するには、まず Section.HeadersFooters.Header または Section.HeadersFooters.Footer プロパティを取得し、それに段落を追加して、画像やテキスト、ページ番号、日付などを挿入します。

ヘッダーとフッターを追加する手順

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して、対象のセクションを取得します。
  • ヘッダーを追加する
    • Section.HeadersFooters.Header プロパティを使用してヘッダーを取得します。
    • HeaderFooter.AddParagraph() メソッドで段落を追加し、段落の配置を設定します。
    • Paragraph.AppendPicture() メソッドで画像を追加し、画像の折り返しスタイルや位置を設定します。
    • Paragraph.AppendText() メソッドでテキストを追加し、フォント名、サイズ、色などを設定します。
  • フッターを追加する
    • Section.HeadersFooters.Footer プロパティを使用してフッターを取得します。
    • フッターに段落を追加し、テキストを挿入します。
    • Paragraph.Format.Borders プロパティを使用してフッターの枠線を取得し、上部の罫線スタイルや間隔を設定します。
  • Document.SaveToFile() メソッドを使用して、変更後の文書を保存します。
  • Python
from spire.doc import Document, HorizontalAlignment, TextWrappingStyle, VerticalOrigin, ShapeVerticalAlignment, Color, BorderStyle

# Document オブジェクトを作成します
document = Document()

# Word 文書を読み込みます
document.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = document.Sections.get_Item(0)

# ヘッダーを取得します
header = section.HeadersFooters.Header

# ヘッダーに段落を追加し、配置スタイルを設定します
headerParagraph = header.AddParagraph()
headerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Left

# ヘッダーの段落に画像を追加し、折り返しスタイルと位置を設定します
headerPicture = headerParagraph.AppendPicture("Logo.png")
headerPicture.TextWrappingStyle = TextWrappingStyle.Square
headerPicture.VerticalOrigin = VerticalOrigin.Paragraph
headerPicture.VerticalAlignment = ShapeVerticalAlignment.Center

# ヘッダーの段落にテキストを追加し、フォントスタイルを設定します
text = headerParagraph.AppendText("Spire.Doc for Python\nPython 用 Word 文書処理マスター")
text.CharacterFormat.FontName = "Yu Gothic UI"
text.CharacterFormat.FontSize = 10
text.CharacterFormat.Bold = True
text.CharacterFormat.TextColor = Color.get_Blue()

# フッターを取得します
footer = section.HeadersFooters.Footer

# フッターに段落を追加し、配置スタイルを設定します
footerParagraph = footer.AddParagraph()
footerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center

# フッターの段落にテキストを追加し、フォントスタイルを設定します
text = footerParagraph.AppendText("Copyright © 2013 e-iceblue. すべての権利を保有。")
text.CharacterFormat.FontName = "Yu Gothic UI"
text.CharacterFormat.FontSize = 10

# フッターの段落に罫線を設定します
footerParagraph.Format.Borders.Top.BorderType = BorderStyle.Single
footerParagraph.Format.Borders.Top.Space = 0.05

# 結果のファイルを保存します
document.SaveToFile("output/Wordのヘッダーとフッター.docx")
document.Close()

PythonでWord文書にヘッダーとフッターを挿入

最初のページと他のページで異なるヘッダー・フッター

最初のページのみにヘッダーやフッターを追加する場合、または最初のページとそれ以外のページで異なるヘッダーやフッターを設定したい場合があります。

Spire.Doc for Python では、Section.PageSetup.DifferentFirstPageHeaderFooter プロパティを使用することで、最初のページ専用のヘッダーやフッターを設定できます。以下の手順で実装できます。

最初のページとその他のページで異なるヘッダー・フッターを設定する手順

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して、対象のセクションを取得します。
  • Section.PageSetup.DifferentFirstPageHeaderFooter プロパティを True に設定し、最初のページのヘッダー・フッターを有効化します。
  • Section.HeadersFooters.FirstPageHeader プロパティを使用して最初のページのヘッダーを取得します。
  • 段落を追加し、画像を挿入します。
  • Section.HeadersFooters.FirstPageFooter プロパティを使用して最初のページのフッターを取得します。
  • 段落を追加し、テキストを挿入します。
  • その他のページのヘッダー・フッターを設定します。(最初のページのみにヘッダー・フッターを追加する場合は、この手順は不要です。)
  • Document.SaveToFile() メソッドで保存します。
  • Python
from spire.doc import Document, HorizontalAlignment, Color, BorderStyle

# Document オブジェクトを作成します
doc = Document()

# Word 文書を読み込みます
doc.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = doc.Sections.get_Item(0)

# 先頭ページとその他のページで異なるヘッダーとフッターを有効にします
section.PageSetup.DifferentFirstPageHeaderFooter = True

# 先頭ページのヘッダーに段落を追加し、配置スタイルを設定します
headerParagraph = section.HeadersFooters.FirstPageHeader.AddParagraph()
headerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right

# ヘッダーの段落に画像を追加します
headerImage = headerParagraph.AppendPicture("Logo1.png")

# 先頭ページのフッターに段落を追加し、配置スタイルを設定します
footerParagraph = section.HeadersFooters.FirstPageFooter.AddParagraph()
footerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center

# フッターの段落にテキストを追加し、フォントスタイルを設定します
text = footerParagraph.AppendText("異なる最初のページのフッター")
text.CharacterFormat.FontSize = 11
text.CharacterFormat.FontName = "Yu Gothic UI"

# その他のページのヘッダーとフッターを設定します
# 先頭ページのみヘッダーとフッターを設定する場合、この処理は不要です
para = section.HeadersFooters.Header.AddParagraph()
para.Format.HorizontalAlignment = HorizontalAlignment.Left
paraText = para.AppendText("プロフェッショナルなWord Python API")
paraText.CharacterFormat.FontSize = 12
paraText.CharacterFormat.TextColor = Color.get_DeepPink()
paraText.CharacterFormat.FontName = "Yu Gothic UI"
para.Format.Borders.Bottom.BorderType = BorderStyle.Single
para.Format.Borders.Bottom.Space = 0.05

paragraph = section.HeadersFooters.Footer.AddParagraph()
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
paraText = paragraph.AppendText("Spire.Doc for Python")
paraText.CharacterFormat.FontSize = 12
paraText.CharacterFormat.FontName = "Yu Gothic UI"
paraText.CharacterFormat.Bold = True
paraText.CharacterFormat.TextColor = Color.get_DodgerBlue()

# 結果の文書を保存します
doc.SaveToFile("output/異なる最初のページのヘッダーとフッター.docx")
doc.Close()

Spire.Docで挿入された異なる最初のページのヘッダーとフッター

奇数・偶数ページで異なるヘッダー・フッター

奇数ページと偶数ページで異なるヘッダーやフッターを設定するには、Spire.Doc for Python の Section.PageSetup.DifferentOddAndEvenPagesHeaderFooter プロパティを使用します。以下の手順で実装できます。

奇数ページと偶数ページで異なるヘッダー・フッターを設定する手順

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドで Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用して、対象のセクションを取得します。
  • Section.PageSetup.DifferentOddAndEvenPagesHeaderFooter プロパティを True に設定し、奇数ページと偶数ページで異なるヘッダー・フッターを有効化します。
  • Section.HeadersFooters.OddHeader および Section.HeadersFooters.OddFooter プロパティを使用して、奇数ページのヘッダーとフッターを取得します。
  • 段落を追加し、テキストを挿入します。
  • Section.HeadersFooters.EvenHeader および Section.HeadersFooters.EvenFooter プロパティを使用して、偶数ページのヘッダーとフッターを取得します。
  • 段落を追加し、テキストを挿入します。
  • Document.SaveToFile() メソッドで保存します。
  • Python
from spire.doc import Document, HorizontalAlignment, Color

# Document オブジェクトを作成します
doc = Document()

# Word 文書を読み込みます
doc.LoadFromFile("Sample.docx")

# 最初のセクションを取得します
section = doc.Sections.get_Item(0)

# 奇数ページと偶数ページで異なるヘッダーとフッターを有効にします
section.PageSetup.DifferentOddAndEvenPagesHeaderFooter = True

# 奇数ページのヘッダーとフッターを追加します
OHPara = section.HeadersFooters.OddHeader.AddParagraph()
OHText = OHPara.AppendText("奇数ページのヘッダー")
OHPara.Format.HorizontalAlignment = HorizontalAlignment.Center
OHText.CharacterFormat.FontName = "Yu Gothic UI"
OHText.CharacterFormat.FontSize = 12
OHText.CharacterFormat.TextColor = Color.get_Red()

OFPara = section.HeadersFooters.OddFooter.AddParagraph()
OFText = OFPara.AppendText("奇数ページのフッター")
OFPara.Format.HorizontalAlignment = HorizontalAlignment.Center
OFText.CharacterFormat.FontName = "Yu Gothic UI"
OFText.CharacterFormat.FontSize = 12
OFText.CharacterFormat.TextColor = Color.get_Red()

# 偶数ページのヘッダーとフッターを追加します
EHPara = section.HeadersFooters.EvenHeader.AddParagraph()
EHText = EHPara.AppendText("偶数ページのヘッダー")
EHPara.Format.HorizontalAlignment = HorizontalAlignment.Center
EHText.CharacterFormat.FontName = "Yu Gothic UI"
EHText.CharacterFormat.FontSize = 12
EHText.CharacterFormat.TextColor = Color.get_Blue()

EFPara = section.HeadersFooters.EvenFooter.AddParagraph()
EFText = EFPara.AppendText("偶数ページのフッター")
EFPara.Format.HorizontalAlignment = HorizontalAlignment.Center
EFText.CharacterFormat.FontName = "Yu Gothic UI"
EFText.CharacterFormat.FontSize = 12
EFText.CharacterFormat.TextColor = Color.get_Blue()

# 結果の文書を保存します
doc.SaveToFile("output/奇数と偶数ページのヘッダーとフッター.docx")
doc.Close()

Pythonで挿入される奇数と偶数の異なるページヘッダーとフッター

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 19 times