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()
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 文書を更新する
特定の段落にアクセスするには、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()
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。