Word文書を作成・編集する際、**余白(マージン)**はレイアウトにおいて重要な要素です。余白は文書の見た目や読みやすさに大きく影響し、特に正式な書類、両面印刷資料、書籍、契約書、政府提出書類などでは、適切な余白設定が不可欠です。
複数の文書や文書内の各セクションごとに個別の余白を設定する必要がある場合、Pythonを活用することで、効率的かつ正確に余白を設定することができます。
本記事では、Pythonを使ってWord文書の各セクションの余白を設定する方法を、実用的なコード例と共に紹介します。
本文の内容
- PythonでWord文書の余白を設定する手順
- Pythonコードによる余白設定のサンプル
- 余白の単位について
- 応用シーンと高度な活用方法
本記事では、Free Spire.Doc for Python を使用します。
PyPIからのインストールコマンド: pip install spire.doc.free
PythonでWord文書の余白を設定する手順
-
Document
クラスのインスタンスを作成 -
LoadFromFile()
メソッドでWord文書を読み込む - 各セクション(Section)をループ処理で取得
-
PageSetup.Margins
プロパティを取得 - 上・下・左・右の余白を設定
-
SaveToFile()
で文書を保存
Pythonコードによる余白設定のサンプル
from spire.doc import Document
# Documentオブジェクトを作成
doc = Document()
# Word文書を読み込む
doc.LoadFromFile("Sample.docx")
# 各セクションの余白を一括設定
for i in range(doc.Sections.Count):
section = doc.Sections.get_Item(i)
margins = section.PageSetup.Margins
margins.Top = 45.0
margins.Bottom = 45.0
margins.Left = 36.0
margins.Right = 36.0
# ファイルに保存
doc.SaveToFile("output/Word余白設定.docx")
doc.Close()
余白の単位について
コードでは「ポイント(point)」を単位としています:
- 1インチ = 72ポイント
- 1センチ ≈ 28.35ポイント
よく使われる余白の例:
- 2.54cm ≈ 72pt(=1インチ)
- 1cm ≈ 28.35pt
- 0.63cm ≈ 17.9pt
レイアウトに合わせて変換して使用してください。
応用シーンと高度な活用方法
1. 企業書式の統一処理
複数のWordファイルを企業・団体の指定余白に統一。契約書、入札資料、通知文、報告書などの提出前整形に活用。
2. バッチ処理による自動化
Pythonスクリプトでフォルダ内のWordファイルを一括処理。文書管理システムや帳票ジェネレーターと組み合わせて自動変換・審査に応用可能。
3. セクションごとの余白設定(応用)
Word文書ではセクションごとに個別のページ設定が可能です。たとえば:
- 本文セクションは余白広めで読みやすさを重視
- 付録は余白を狭くして用紙節約
- 表紙は左右対称の余白で製本対応
以下のように条件分岐で制御できます:
for i in range(doc.Sections.Count):
section = doc.Sections.get_Item(i)
margins = section.PageSetup.Margins
if i == 0:
margins.All = 36 # 表紙:広めの余白
else:
margins.All = 18 # その他:標準余白
4. 用紙サイズ・ページ設定との組み合わせ
余白設定は、用紙サイズ(A4、A5など)、ヘッダー/フッターの距離、ページの向き(縦・横)などと組み合わせて、総合的なレイアウト戦略が構築できます。
詳細はSpire.Doc for Python 公式ドキュメントをご覧ください。
まとめ
この記事では、Free Spire.Doc for Pythonを用いて、Word文書の余白を柔軟かつ高速に設定する方法を解説しました。個別設定にもバッチ処理にも対応できるこの方法は、手作業の時間を大幅に削減し、高品質なドキュメント制作を支援します。
日常業務、文書の一括アーカイブ、あるいは自動化されたシステムにおける文書出力など、さまざまなシーンで活用できる実用的な技術です。