Word 文書にハイパーリンクを挿入することで、文書のインタラクティブ性や情報のアクセス性を向上させるだけでなく、動的に更新が必要な内容を簡単に管理でき、文書の利用体験を高めることができます。Python を使用して Word 文書にハイパーリンクを追加すれば、ハイパーリンクの自動化を実現できるだけでなく、より個別化されたハイパーリンク処理プログラムを開発することも可能です。本記事では、Python を使用して Word 文書にハイパーリンクを追加する方法を紹介します。
本記事で紹介する方法では、無料のFree Spire.Doc for Pythonを使用します。インストールは次のコマンドで行います:pip install Spire.Doc.Free
Python を使用して Word 文書にさまざまなハイパーリンクを追加する方法
文書にリンクを追加するには、段落の AppendHyperlink
メソッドを使用します。リンクの種類に応じて、ウェブリンク(HyperlinkType.WebLink
)、メールリンク(HyperlinkType.EMailLink
)、ファイルリンク(HyperlinkType.FileLink
)、またはブックマークリンク(HyperlinkType.Bookmark
)を指定できます。さらに、画像にハイパーリンクを追加してナビゲーション機能を持たせることも可能です。以下に具体的な手順を示します:
操作手順
- 必要なクラスとモジュール(例:
Document
やParagraphStyle
)をインポートする。 - Word 文書を生成するために
Document
インスタンスを作成する。 - セクションを追加し、ページの余白を設定する(
AddSection
とPageSetup.Margins
を使用)。 - セクションに段落を追加する(
AddParagraph
メソッドを使用)。 - 段落にさまざまなハイパーリンクを追加する(ウェブリンク、メールリンク、ファイルリンク、ブックマークリンクを含む)。
- 段落に改行を挿入する(
AppendBreak
メソッドを使用)。 - ブックマークを追加してそれにリンクする(
AppendBookmarkStart
、AppendBookmarkEnd
、AppendHyperlink
を使用)。 - 画像を挿入し、画像にハイパーリンクを追加する(
AppendPicture
とAppendHyperlink
を使用)。 - 段落スタイルを作成し、適用する(
ParagraphStyle
とApplyStyle
を使用)。 - 文書を保存してリソースを解放する(
SaveToFile
とDispose
を呼び出す)。
コード例
from spire.doc import *
from spire.doc.common import *
# Word 文書を作成します
doc = Document()
# セクションを追加します
section = doc.AddSection()
# 段落を追加します
paragraph = section.AddParagraph()
# ウェブリンクを追加します
paragraph.AppendHyperlink("https://www.example-home.com/", "ホームページ", HyperlinkType.WebLink)
# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)
# メールリンクを追加します
paragraph.AppendHyperlink("mailto:example@example.com", "メールでお問い合わせ", HyperlinkType.EMailLink)
# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)
# ファイルリンクを追加します
filePath = "C:\\Users\\Administrator\\Desktop\\Report.xlsx"
paragraph.AppendHyperlink(filePath, "レポートを開く", HyperlinkType.FileLink)
# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)
# セクションを追加してブックマークを作成します
section2 = doc.AddSection()
bookmarkParagraph = section2.AddParagraph()
bookmarkParagraph.AppendText("ここにブックマークがあります")
start = bookmarkParagraph.AppendBookmarkStart("myBookmark")
bookmarkParagraph.Items.Insert(0, start)
bookmarkParagraph.AppendBookmarkEnd("myBookmark")
# ブックマークへのリンクを追加します
paragraph.AppendHyperlink("myBookmark", "文書内の指定位置にジャンプ", HyperlinkType.Bookmark)
# 改行を追加します
paragraph.AppendBreak(BreakType.LineBreak)
paragraph.AppendBreak(BreakType.LineBreak)
# 画像リンクを追加します
image = "Image1.png"
picture = paragraph.AppendPicture(image)
paragraph.AppendHyperlink("https://www.example.com/", picture, HyperlinkType.WebLink)
# 段落スタイルを作成し、段落に適用する
style = ParagraphStyle(doc)
style.Name = "Style1"
style.CharacterFormat.FontName = "Yu Gothic UI"
style.CharacterFormat.FontSize = 14
doc.Styles.Add(style)
for i in range(section.Paragraphs.Count):
section.Paragraphs.get_Item(i).ApplyStyle(style.Name)
# 文書をファイルに保存します
doc.SaveToFile("output/CreateHyperlinks.docx", FileFormat.Docx2019)
doc.Dispose()
本記事では、Python を使用して Word 文書にさまざまな種類のハイパーリンクを追加する方法を手順とともに解説しました。