Word 文書にブックマークを追加すると、特定の位置をマークしてすばやく参照したり移動したりできるようになります。ブックマークは仮想的な目印として機能し、長い文書内の重要なセクションを簡単に見つけるのに役立ちます。本記事では、Spire.Doc for Python を使用して Word 文書にブックマークを追加する方法を紹介します。
Spire.Doc for Python のインストール
この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.Doc
Word の段落にブックマークを追加する
Spire.Doc for Python では、BookmarkStart クラスがブックマークの開始位置を、BookmarkEnd クラスがブックマークの終了位置を表します。段落をブックマークするには、段落の先頭に BookmarkStart オブジェクトを挿入し、末尾に BookmarkEnd オブジェクトを追加します。具体的な手順は次のとおりです。
- Document オブジェクトを作成します。
- Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
- Document.Sections[index].Paragraphs[index] プロパティを使用して対象の段落を取得します。
- Paragraph.AppendBookmarkStart() メソッドで BookmarkStart を作成し、Paragraph.Items.Insert() メソッドで段落の先頭に挿入します。
- Paragraph.AppendBookmarkEnd() メソッドを使用して段落の末尾に BookmarkEnd を追加します。
- Document.SaveToFile() メソッドを使用して、文書を別の Word ファイルとして保存します。
- Python
from spire.doc import Document
# Document オブジェクトを作成します
doc = Document()
# サンプルの Word ファイルを読み込みます
doc.LoadFromFile('Sample.docx')
# 2 番目の段落を取得します
paragraph = doc.Sections.get_Item(0).Paragraphs.get_Item(1)
# ブックマークの開始を作成します
start = paragraph.AppendBookmarkStart('ブックマーク 1')
# 段落の先頭に挿入します
paragraph.Items.Insert(0, start)
# 段落の末尾にブックマークの終了を追加します
paragraph.AppendBookmarkEnd('ブックマーク 1')
# ファイルを保存します
doc.SaveToFile('output/段落にブックマークを追加.docx')
doc.Dispose()
特定の Word のテキストにブックマークを追加する
特定のテキストをブックマークするには、まず文書内で該当するテキストを見つけ、その段落内の位置を取得します。次に、そのテキストの前に BookmarkStart を、後に BookmarkEnd を挿入します。具体的な手順は次のとおりです。
- Document オブジェクトを作成します。
- Document.LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
- 文書内でブックマークを付けたい文字列を検索します。
- その文字列が属する段落を取得し、段落内での位置を特定します。
- 文字列の前に BookmarkStart を挿入し、後に BookmarkEnd を挿入します。
- Document.SaveToFile() メソッドを使用して、文書を別の Word ファイルとして保存します。
- Python
from spire.doc import Document
# Document オブジェクトを作成します
doc = Document()
# サンプルの Word ファイルを読み込みます
doc.LoadFromFile('Sample.docx')
# 検索する文字列を指定します
stringToFind = '抗酸化作用'
# 文書内で指定した文字列を検索します
finds = doc.FindAllString(stringToFind, False, True)
specificText = finds[0]
# 検索した文字列が含まれる段落を取得します
paragraph = specificText.GetAsOneRange().OwnerParagraph
# 段落内での文字列のインデックスを取得します
index = paragraph.ChildObjects.IndexOf(specificText.GetAsOneRange())
# ブックマークの開始を作成します
start = paragraph.AppendBookmarkStart("ブックマーク 2")
# 指定したインデックスの位置にブックマークの開始を挿入します
paragraph.ChildObjects.Insert(index, start)
# ブックマークの終了を作成します
end = paragraph.AppendBookmarkEnd("ブックマーク 2")
# 検索した文字列の末尾にブックマークの終了を挿入します
paragraph.ChildObjects.Insert(index + 2, end)
# 文書を別のファイルとして保存します
doc.SaveToFile("output/テキストにブックマークを挿入.docx")
doc.Dispose()
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。