PDF のブックマークは、ユーザーが特定のセクションやページに素早く移動できるナビゲーション機能です。ワンクリックで目的の場所にジャンプでき、長い文書を手動でスクロールしたり、特定の内容を探す手間を省くことができます。この記事では、Spire.PDF for .NET を使用して、プログラムで PDF 文書にブックマークを追加、編集、削除する方法を紹介します。
Spire.PDF for .NET をインストールします
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
C# で PDF 文書にブックマークを追加する
Spire.PDF for .NET は、PdfDocument.Bookmarks.Add() メソッドを提供しており、これを使って PDF 文書にブックマークを追加できます。ブックマークを作成した後、PdfBookmark.Add() メソッドを使用して、サブブックマークも追加できます。以下に、詳細な手順を示します。
- PdfDocument オブジェクトを作成する。
- PdfDocument.LoadFromFile() メソッドを使って PDF ファイルを読み込む。
- PDF ファイル内の全ページをループして、ブックマークを追加し、スタイルを設定する。
- PdfDocument.Bookmarks.Add() メソッドを使用して、親ブックマークを文書に追加する。
- PdfDestination オブジェクトを作成し、PdfBookmark.Action プロパティを使って親ブックマークの移動先を設定する。
- 親ブックマークのテキスト色とスタイルを設定する。
- PdfBookmark.Add() メソッドを使って、親ブックマークにサブブックマークを追加する。
- サブブックマークの移動先、テキスト色、テキストスタイルを設定する。
- PdfDocument.SaveToFile() メソッドを使用して、文書を保存する。
- C#
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Actions;
using Spire.Pdf.Bookmarks;
using Spire.Pdf.General;
namespace AddBookmark
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
//サンプルPDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
//PDFファイルのページをループする
for (int i = 0; i < pdf.Pages.Count; i++)
{
PdfPageBase page = pdf.Pages[i];
//ブックマークを追加
PdfBookmark bookmark = pdf.Bookmarks.Add(string.Format("ブックマーク-{0}", i + 1));
//ブックマークの目的のページと位置を設定
PdfDestination destination = new PdfDestination(page, new PointF(0, 0));
bookmark.Action = new PdfGoToAction(destination);
//ブックマークのテキストの色とスタイルを設定
bookmark.Color = new PdfRGBColor(Color.Black);
bookmark.DisplayStyle = PdfTextStyle.Bold;
//子ブックマークを追加
PdfBookmark childBookmark = bookmark.Add(string.Format("サブブックマーク-{0}", i + 1));
//子ブックマークの目的のページと位置を設定
PdfDestination childDestination = new PdfDestination(page, new PointF(0, 100));
childBookmark.Action = new PdfGoToAction(childDestination);
//子ブックマークのテキストの色とスタイルを設定
childBookmark.Color = new PdfRGBColor(Color.Brown);
childBookmark.DisplayStyle = PdfTextStyle.Italic;
}
//結果ファイルを保存
pdf.SaveToFile("output/ブックマークを追加.pdf");
pdf.Close();
}
}
}
C# で PDF 文書内のブックマークを編集する
既存のブックマークを更新する場合、PdfBookmark クラスのメソッドを使用して、ブックマークの名前を変更したり、テキストの色やスタイルを変更できます。以下に、詳細な手順を示します。- PdfDocument オブジェクトを作成する。
- PdfDocument.LoadFromFile() メソッドを使って PDF ファイルを読み込む。
- PdfDocument.Bookmarks[] プロパティを使って、指定したブックマークを取得する。
- PdfBookmark.Title プロパティを使って、ブックマークのタイトルを変更する。
- PdfBookmark.Color プロパティを使って、ブックマークのフォントの色を変更する。
- PdfBookmark.DisplayStyle プロパティを使って、ブックマークのテキストスタイルを変更する。
- 上記のメソッドを使用して、サブブックマークのテキスト色やスタイルを変更する。
- PdfDocument.SaveToFile() メソッドを使用して、文書を保存する。
- C#
using Spire.Pdf;
using Spire.Pdf.Bookmarks;
using System.Drawing;
namespace ModifyBookmarks
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
//サンプルPDFファイルを読み込む
pdf.LoadFromFile("output/ブックマークを追加.Pdf");
//最初のブックマークを取得
PdfBookmark bookmark = pdf.Bookmarks[0];
//ブックマークのタイトルを変更
bookmark.Title = "変更されたブックマーク";
//ブックマークのテキストの色とスタイルを変更
bookmark.Color = Color.Red;
bookmark.DisplayStyle = PdfTextStyle.Italic;
//最初のブックマークのサブブックマークを編集
foreach (PdfBookmark childBookmark in bookmark)
{
childBookmark.Color = Color.Blue;
childBookmark.DisplayStyle = PdfTextStyle.Bold;
}
//結果ファイルを保存
pdf.SaveToFile("output/ブックマークを編集.Pdf");
pdf.Close();
}
}
}
C# で PDF 文書からブックマークを削除する
Spire.PDF for .NET では、特定のブックマークだけでなく、PDF ファイル内のすべてのブックマークを削除することが可能です。また、特定のサブブックマークだけを削除することもできます。以下に、詳細な手順を示します。
- PdfDocument オブジェクトを作成する。
- PdfDocument.LoadFromFile() メソッドを使って PDF ファイルを読み込む。
- PdfDocument.Bookmarks[] プロパティを使って、最初のブックマークを取得する。
- PdfBookmark.RemoveAt() メソッドを使って、最初のブックマークの指定したサブブックマークを削除する。
- PdfDocument.Bookmarks.RemoveAt() メソッドを使って、指定したブックマークとそのサブブックマークを削除する。または、PdfDocument.Bookmarks.Clear() メソッドを使って、PDF ファイル内のすべてのブックマークを削除することも可能です。
- PdfDocument.SaveToFile() メソッドを使用して、文書を保存する。
- C#
using Spire.Pdf;
using Spire.Pdf.Bookmarks;
namespace DeleteBookmarks
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
//サンプルPDFファイルを読み込む
pdf.LoadFromFile("output/ブックマークを追加.Pdf");
//最初のブックマークを取得
PdfBookmark bookmark = pdf.Bookmarks[0];
//最初のブックマークの最初のサブブックマークを削除
bookmark.RemoveAt(0);
//2番目のブックマークとそのサブブックマークを削除
pdf.Bookmarks.RemoveAt(1);
//すべてのブックマークを削除
//pdf.Bookmarks.Clear();
//結果ファイルを保存
pdf.SaveToFile("output/ブックマークを削除.pdf");
pdf.Close();
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。