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