チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
PDF ドキュメントにおけるブックマークの展開・折りたたみ機能は、より整理されたナビゲーションを提供し、ドキュメントの構造を簡単に理解できるようにします。ブックマークが展開されている場合、階層全体が一度に表示され、ドキュメントの構成を包括的に把握できます。一方で、ブックマークを折りたたむことで、詳細を表示せず、特定の部分に集中しやすくなり、全体の階層に気を取られることなく閲覧が可能です。この記事では、C# で Spire.PDF for .NET を使用して、PDF 内のブックマークを展開・折りたたむ方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
Spire.PDF for .NET は、PdfBookmark.ExpandBookmark プロパティを使用して、指定されたブックマークを展開または折りたたむことができます。以下は詳細な手順です。
using Spire.Pdf;
using Spire.Pdf.Bookmarks;
namespace ExpandOrCollapseABookmark
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
// PDFファイルをロード
pdf.LoadFromFile("Sample.pdf");
// 指定されたブックマークを取得
PdfBookmark bookmarks = pdf.Bookmarks[0];
// ブックマークを展開
bookmarks.ExpandBookmark = true;
// ブックマークを折りたたむ
// bookmarks.ExpandBookmark = false;
// 結果ファイルを保存
pdf.SaveToFile("output/特定のPDFブックマークを展開.pdf");
pdf.Close();
}
}
}
PDF ファイル内のすべてのブックマークを順次処理し、それぞれのブックマークを PdfBookmark.ExpandBookmark プロパティを使用して展開または折りたたむことも可能です。以下はその詳細な手順です。
using Spire.Pdf;
using Spire.Pdf.Bookmarks;
namespace ExpandOrCollapsePDFBookmarks
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成
PdfDocument pdf = new PdfDocument();
// PDFファイルをロード
pdf.LoadFromFile("Sample.pdf");
// すべてのブックマークをループして展開
foreach (PdfBookmark bookmark in pdf.Bookmarks)
{
bookmark.ExpandBookmark = true;
}
// 結果ファイルを保存
pdf.SaveToFile("output/すべてのPDFブックマークを展開.pdf");
pdf.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF のブックマークは、ユーザーが特定のセクションやページに素早く移動できるナビゲーション機能です。ワンクリックで目的の場所にジャンプでき、長い文書を手動でスクロールしたり、特定の内容を探す手間を省くことができます。この記事では、Spire.PDF for .NET を使用して、プログラムで PDF 文書にブックマークを追加、編集、削除する方法を紹介します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
Spire.PDF for .NET は、PdfDocument.Bookmarks.Add() メソッドを提供しており、これを使って PDF 文書にブックマークを追加できます。ブックマークを作成した後、PdfBookmark.Add() メソッドを使用して、サブブックマークも追加できます。以下に、詳細な手順を示します。
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();
}
}
}
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();
}
}
}
Spire.PDF for .NET では、特定のブックマークだけでなく、PDF ファイル内のすべてのブックマークを削除することが可能です。また、特定のサブブックマークだけを削除することもできます。以下に、詳細な手順を示します。
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 日間有効な一時ライセンスを取得してください。
ブックマークは、特にページ数の多い PDF ドキュメントに役立つ機能です。しおりをクリックすることで、読者はドキュメントの対応する場所にすばやくジャンプすることができます。整理された一連のしおりは、目次としても使用することができます。この記事では、Spire.PDF for .NET を使用して PDF ドキュメントからブックマークを取得する方法について説明します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
詳細な手順は以下の通りです。
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 日間有効な一時ライセンスを取得してください。