ブックマークは、特にページ数の多い PDF ドキュメントに役立つ機能です。しおりをクリックすることで、読者はドキュメントの対応する場所にすばやくジャンプすることができます。整理された一連のしおりは、目次としても使用することができます。この記事では、Spire.PDF for .NET を使用して PDF ドキュメントからブックマークを取得する方法について説明します。 Spire.PDF for .NET をインストールします まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.PDF PDF ドキュメントのブックマークを取得する 詳細な手順は以下の通りです。 PdfDocument クラスのインスタンスを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。 PdfDocument.Bookmarks プロパティを使用して、PDF ドキュメント内のブックマーク集を取得します。 カスタムメソッド GetBookmarks() を使用して、ブックマークのコンテンツを取得し、TXT ファイルに保存します。 C# VB.NET using System; using System.IO; using System.Text; using Spire.Pdf; using Spire.Pdf.Bookmarks; namespace GetBookmark { internal class Program { static void Main(string[] args) { // PdfDocumentクラスのインスタンスを作成する PdfDocument pdf = new PdfDocument(); // PDFドキュメントを読み込む pdf.LoadFromFile(@"C:例.pdf"); // PDF ドキュメント内のブックマーク集を取得する PdfBookmarkCollection bookmarks = pdf.Bookmarks; //ブックマークを取得し、TXTファイルに保存する String result = "ブックマークの取得.txt"; GetBookmarks(bookmarks, result); } public static void GetBookmarks(PdfBookmarkCollection bookmarks, string result) { // StringBuilder クラスのオブジェクトを作成する StringBuilder content = new StringBuilder(); // PDFブックマークの情報を取得する if (bookmarks.Count > 0) { content.AppendLine("PDFブックマーク:"); foreach (PdfBookmark parentBookmark in bookmarks) { //タイトルを取得する content.AppendLine(parentBookmark.Title); //テキストのスタイルを取得する string textStyle = parentBookmark.DisplayStyle.ToString(); content.AppendLine(textStyle); GetChildBookmark(parentBookmark, content); } } // TXTファイルに保存する File.WriteAllText(result, content.ToString()); } public static void GetChildBookmark(PdfBookmark parentBookmark, StringBuilder content) { if (parentBookmark.Count > 0) { foreach (PdfBookmark childBookmark in parentBookmark) { //タイトルを取得する content.AppendLine(childBookmark.Title); //テキストのスタイルを取得する string textStyle = childBookmark.DisplayStyle.ToString(); content.AppendLine(textStyle); GetChildBookmark(childBookmark, content); } } } } } Imports System Imports System.IO Imports System.Text Imports Spire.Pdf Imports Spire.Pdf.Bookmarks Namespace GetBookmark Friend Class Program Shared Sub Main(ByVal args() As String) ' PdfDocumentクラスのインスタンスを作成する Dim pdf As PdfDocument = New PdfDocument() ' PDFドキュメントを読み込む pdf.LoadFromFile("C:例.pdf") ' PDF ドキュメント内のブックマーク集を取得する Dim bookmarks As PdfBookmarkCollection = pdf.Bookmarks 'ブックマークを取得し、TXTファイルに保存する Dim result As String = "ブックマークの取得.txt" GetBookmarks(bookmarks, result) End Sub Public Shared Sub GetBookmarks(ByVal bookmarks As PdfBookmarkCollection, ByVal result As String) ' StringBuilder クラスのオブジェクトを作成する Dim content As StringBuilder = New StringBuilder() ' PDFブックマークの情報を取得する If bookmarks.Count > 0 Then content.AppendLine("PDFブックマーク:") Dim parentBookmark As PdfBookmark For Each parentBookmark In bookmarks 'タイトルを取得する content.AppendLine(parentBookmark.Title) 'テキストのスタイルを取得する Dim textStyle As String = parentBookmark.DisplayStyle.ToString() content.AppendLine(textStyle) GetChildBookmark(parentBookmark, content) Next End If ' TXTファイルに保存する File.WriteAllText(result, content.ToString()) End Sub Public Shared Sub GetChildBookmark(ByVal parentBookmark As PdfBookmark, ByVal content As StringBuilder) If parentBookmark.Count > 0 Then Dim childBookmark As PdfBookmark For Each childBookmark In parentBookmark 'タイトルを取得する content.AppendLine(childBookmark.Title) 'テキストのスタイルを取得する Dim textStyle As String = childBookmark.DisplayStyle.ToString() content.AppendLine(textStyle) GetChildBookmark(childBookmark, content) Next End If End Sub End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。