チュートリアル

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

チュートリアル»Python»Spire.Doc for Python»文書操作»Python:Word 文書の作成、読み込み、更新
2025-02-07

Python:Word 文書の作成、読み込み、更新

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 文書をゼロから作成する

Spire.Doc for Python は、Word 文書のモデルを表現するために Document クラスを提供しています。Word 文書は、最低でも 1 つのセクション(Section クラスで表現)を含み、各セクションは段落、表、グラフ、画像などさまざまな要素を格納するコンテナとして機能します。以下の手順では、Spire.Doc for Python を使って複数の段落を含むシンプルな Word 文書を作成する方法を紹介します。

  • Document クラスのインスタンスを生成します。
  • Document.AddSection() メソッドを使用してセクションを追加します。
  • Section.PageSetUp.Margins プロパティを利用して、ページ余白を設定します。
  • Section.AddParagraph() メソッドを使用して、セクションに複数の段落を追加します。
  • Paragraph.AppendText() メソッドを利用して、各段落にテキストを追加します。
  • ParagraphStyle オブジェクトを作成し、Paragraph.ApplyStyle() メソッドを使用して特定の段落にスタイルを適用します。
  • Document.SaveToFile() メソッドを使用して、Word ファイルとして文書を保存します。
  • Python
from spire.doc import Document, FileFormat, BuiltinStyle, ParagraphStyle, HorizontalAlignment

# ドキュメントオブジェクトを作成
doc = Document()

# セクションを追加
section = doc.AddSection()

# ページの余白を設定
section.PageSetup.Margins.All = 40

# タイトルを追加
titleParagraph = section.AddParagraph()
titleParagraph.AppendText("Spire.Doc for Pythonの紹介")

# 2つの段落を追加
bodyParagraph_1 = section.AddParagraph()
bodyParagraph_1.AppendText("Spire.Doc for Pythonは、開発者が任意のPythonアプリケーション内で高速かつ高品質なパフォーマンスでWord文書を作成、読み取り、書き込み、変換、比較、印刷するために設計されたプロフェッショナルなPythonライブラリです。")

bodyParagraph_2 = section.AddParagraph()
bodyParagraph_2.AppendText("独立したWord用Python APIであるSpire.Doc for Pythonは、開発システムやターゲットシステムにMicrosoft Wordがインストールされている必要はありません。しかしながら、どの開発者のPythonアプリケーションにもMicrosoft Wordの文書作成機能を組み込むことが可能です。")

# タイトルに見出し1のスタイルを適用
titleParagraph.ApplyStyle(BuiltinStyle.Heading1)

# 段落用のスタイルを作成
style2 = ParagraphStyle(doc)
style2.Name = "paraStyle"
style2.CharacterFormat.FontName = "Yu Gothic UI"
style2.CharacterFormat.FontSize = 13
doc.Styles.Add(style2)
bodyParagraph_1.ApplyStyle("paraStyle")
bodyParagraph_2.ApplyStyle("paraStyle")

# 段落の水平位置揃えを設定
titleParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center
bodyParagraph_1.Format.HorizontalAlignment = HorizontalAlignment.Left
bodyParagraph_2.Format.HorizontalAlignment = HorizontalAlignment.Left

# 段落後の余白を設定
titleParagraph.Format.AfterSpacing = 10
bodyParagraph_1.Format.AfterSpacing = 10

# ファイルに保存
doc.SaveToFile("output/Word文書.docx", FileFormat.Docx2019)
doc.Close()

Spire.Doc for Pythonで作成したWord文書

Python で Word 文書のテキストを読み込む

Word 文書全体のテキストを取得するには、Document.GetText() メソッドを使用します。以下に手順を示します。

  • Document クラスのインスタンスを生成します。
  • Document.LoadFromFile() メソッドを使用して、Word 文書を読み込みます。
  • Document.GetText() メソッドを利用して、文書全体のテキストを取得します。
  • Python
from spire.doc import *
from spire.doc.common import *

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

# Wordファイルを読み込む
doc.LoadFromFile("output/Word文書.docx")

# ドキュメント全体のテキストを取得
text = doc.GetText()

# テキストを出力
print(text)

PythonでWord文書からテキストを取得

Python で Word 文書を更新する

特定の段落にアクセスするには、Section.Paragraphs[index] プロパティを使用します。段落のテキストを変更する場合は、Paragraph.Text プロパティに新しいテキストを再割り当てします。以下の手順に従って操作します。

  • Document クラスのインスタンスを生成します。
  • Document.LoadFromFile() メソッドを使用して、Word 文書を読み込みます。
  • Document.Sections[index] プロパティを使用して、対象のセクションを取得します。
  • Section.Paragraphs[index] プロパティを利用して、対象の段落を取得します。
  • Paragraph.Text プロパティに新しいテキストを再割り当てします。
  • Document.SaveToFile() メソッドを使用して、変更内容を反映した Word ファイルとして文書を保存します。
  • Python
from spire.doc import *
from spire.doc.common import *

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

# Word ファイルを読み込む
doc.LoadFromFile("output/Word文書.docx")

# 特定のセクションを取得
section = doc.Sections[0]

# 特定の段落を取得
paragraph = section.Paragraphs[1]

# 段落のテキストを変更
paragraph.Text = "タイトルが変更されました"

# ファイルに保存
doc.SaveToFile("output/更新されたWord文書.docx", FileFormat.Docx2019)
doc.Close()

Pythonで更新されたWord文書

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

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

Read 120 times