チュートリアル

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

チュートリアル»Python»Spire.Doc for Python»変換»Python:HTML を Word に変換する方法
2025-02-05

Python:HTML を Word に変換する方法

HTML はオンライン閲覧向けに設計されていますが、Word 文書は印刷や物理的な文書として一般的に使用されます。HTML を Word に変換することで、ページ区切りやヘッダー、フッターなどの要素が適切に処理され、印刷に最適化された形式でコンテンツを整えることができます。本記事では、Spire.Doc for Python を使用して Python で HTML を Word に変換する方法を説明します。

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

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

pip install Spire.Doc

Python で HTML ファイルを Word に変換する

Spire.Doc for Python の Document.SaveToFile() メソッドを使用すると、HTML ファイルを簡単に Word 形式に変換できます。手順は以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して HTML ファイルを読み込みます。
  • Document.SaveToFile() メソッドを使用して HTML を Word 形式で保存します。
  • Python
from spire.doc import Document, FileFormat, XHTMLValidationType

# Document のインスタンスを作成します
doc = Document()

# HTML ファイルを読み込みます
doc.LoadFromFile("Sample.html", FileFormat.Html, XHTMLValidationType.none)

# HTML ファイルを Word 文書として保存します
doc.SaveToFile("output/HTMLToWord.docx", FileFormat.Docx)
doc.Close()

PythonコードでHTMLファイルをWord文書に変換

Python で HTML 文字列を Word に変換する

HTML ファイルだけでなく、HTML 形式の文字列も Word に変換できます。その場合、Paragraph.AppendHTML() メソッドを使用します。手順は以下のとおりです。

  • Document クラスのオブジェクトを作成します。
  • Document.AddSection() メソッドを使用してセクションを追加します。
  • Section.AddParagraph() メソッドを使用してセクション内に段落を追加します。
  • Paragraph.AppendHTML() メソッドを使用して段落に HTML 文字列を追加します。
  • Document.SaveToFile() メソッドを使用して結果を Word 形式で保存します。
  • Python
from spire.doc import Document, FileFormat

# Document のインスタンスを作成する
doc = Document()

# 文書にセクションを追加する
section = doc.AddSection()

# セクションに段落を追加する
paragraph = section.AddParagraph()

# HTML 文字列を指定する
htmlString = """
              <h1 style=")color: #4682b4;">夢幻都市の軌跡</h1>
<p style="font-size: 14px; text-align: justify;">
  この文書は、HTML文字列をWord文書に挿入する例です。<strong>強調</strong>や<em>斜体</em>のスタイルが含まれています。
</p>
<table style="width: 100%; border-collapse: collapse; margin: 10px 0;">
  <thead>
    <tr>
      <th style="border: 1px solid #ccc; padding: 8px; background-color: #87cefa; color: #fff;">項目</th>
      <th style="border: 1px solid #ccc; padding: 8px; background-color: #87cefa; color: #fff;">内容</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="border: 1px solid #ccc; padding: 8px;">施設</td>
      <td style="border: 1px solid #ccc; padding: 8px;">未来文化センター</td>
    </tr>
    <tr>
      <td style="border: 1px solid #ccc; padding: 8px;">状態</td>
      <td style="border: 1px solid #ccc; padding: 8px;">進行中</td>
    </tr>
  </tbody>
</table>
<ul style="margin-left: 20px;">
  <li>最新技術の導入</li>
  <li>環境に優しい設計</li>
</ul>
<blockquote style="border-left: 4px solid #ccc; margin: 10px 0; padding-left: 10px;">
  <p style="font-style: italic;">「都市の未来は我々の手の中にある。」</p>
</blockquote>
"""

# HTML 文字列を段落に挿入する
paragraph.AppendHTML(htmlString)

# 文書を保存する
doc.SaveToFile("output/InsertHTMLStringToWord.docx", FileFormat.Docx)
doc.Close()

PythonコードでWord文書にHTML文字列を挿入

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

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

Read 12 times