チュートリアル

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

チュートリアル»Python»Spire.Doc for Python»差し込み印刷»Python:Word 文書で差し込み印刷を作成・実行する方法
2025-02-10

Python: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 文書での差し込み印刷には、差し込みフィールドの使用が含まれます。Spire.Doc for Python では、Paragraph.AppendField(str: fieldName, FieldType.FieldMergeField) メソッドを提供しており、ユーザーは文書内の指定された段落に効率的に差し込みフィールドを作成できます。この機能により、ユーザーは後でパーソナライズされた情報を入力することで、特定の受取人向けの文書を迅速に生成できます。

Word文書に差し込みフィールドを作成するための詳細な手順は以下の通りです:

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections.get_Item() メソッドを使用してセクションを取得します。
  • Section.Paragraphs.get_Item() メソッドを使用して、差し込みフィールドを挿入する段落を取得します。
  • Paragraph.AppendField() メソッドを使用して段落に差し込みフィールドを追加します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • Python
from spire.doc import Document, FieldType

# Documentクラスのオブジェクトを作成
doc = Document()

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

# セクションを取得
section = doc.Sections.get_Item(1)

# メールマージフィールドを追加するための段落を取得
para1 = section.Paragraphs.get_Item(0)
para2 = section.Paragraphs.get_Item(1)
para3 = section.Paragraphs.get_Item(2)
para4 = section.Paragraphs.get_Item(3)

# メールマージフィールドを追加し、フィールド名を指定
para1.AppendField("名前", FieldType.FieldMergeField)
para2.AppendField("年齢", FieldType.FieldMergeField)
para3.AppendField("電話番号", FieldType.FieldMergeField)
para4.AppendField("会員種別", FieldType.FieldMergeField)

# 文書を保存
doc.SaveToFile("output/差し込み印刷フィールドの作成.docx")
doc.Close()

Python で Word 文書に差し込み印刷を作成する

Python で Word 文書で差し込み印刷を実行する

差し込み印刷を作成した後は、MailMerge.Execute(List: fieldNames, List: dataSource) メソッドを使用して文書内で差し込み印刷を実行できます。これにより、指定されたデータソースに基づいて、個別の内容を含む複数の Word 文書を迅速に生成できます。

差し込み印刷を実行してパーソナライズされた文書を生成するための詳細な手順は以下の通りです:

  • データソースを指定します。
  • データソースをループ処理します:
    • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
    • Document.MailMerge.GetMergeFieldNames() メソッドを使用して差し込みフィールド名をリストとして取得します。
    • Document.MailMerge.Execute() メソッドを使用して指定したデータで差し込み印刷を実行します。
    • Document.SaveToFile() メソッドで文書を保存します。
  • Python
from spire.doc import Document

# データソースを指定(日本語のデータ)
dataSource = member_data = [
    ["佐藤 太郎", "30", "+81-90-1234-5678", "プレミアム"],
    ["鈴木 次郎", "40", "+81-80-2345-6789", "スタンダード"],
    ["高橋 三郎", "25", "+44-70-3456-7890", "ベーシック"],
]

# データソースをループ
for i in range(len(dataSource)):
    # Documentのインスタンスを作成
    doc = Document()
    # メールマージフィールドを含むWord文書を読み込む
    doc.LoadFromFile("output/差し込み印刷フィールドの作成.docx")
    # マージフィールド名を取得
    fieldNames = doc.MailMerge.GetMergeFieldNames()
    # メールマージを実行
    doc.MailMerge.Execute(fieldNames, dataSource[i])
    # 文書を保存
    doc.SaveToFile(f"output/Members/Member-{dataSource[i][0]}.docx")
    doc.Close()

Python で Word 文書で差し込み印刷を実行する

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

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

Read 56 times