JavaでPDFブックマークとアウトラインを追加する方法
JavaプロジェクトにPDFブックマークを含めることで、PDFの使いやすさとナビゲーションを大幅に向上させることができます。 PDFのアウトラインは、PDF内での簡単なナビゲーション方法を提供します。目次のように、ドキュメント内の重要なページに簡単に移動することができます。
IronPDFは、PDFファイルの操作を簡単にする強力なPDFツールです。 そのブックマークツールは、PDFファイルにカスタムブックマークを作成するための簡潔で使いやすい方法を提供します。
ブックマークとアウトラインを PDF に追加する方法
- PDFにブックマークを追加するJavaライブラリをインストールする
- PdfDocument クラスを使用して、Javaで既存のPDFファイルを読み込みます。
- BookmarkManager クラスを使用してブックマークを作成およびカスタマイズします。
- 特定のPDFページにブックマークを追加するには、
addBookMarkAtEnd
を使用します。 - 新しいアウトラインとブックマークを含むPDFドキュメントを保存します。
今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。
始める前に
また、IronPDFは開発用にライセンスされている必要があるため、ライセンスキーを正しく設定する必要があります。
アウトラインとブックマークを追加する例
本日の例では、このサンプルPDFを使用して、アウトラインとブックマークを適用します。
ブックマークの単一層を追加
指定されたファイルパスからこのPDFをPdfDocumentクラスを使用してロードした後、BookmarkManagerオブジェクトを取得することで、ドキュメントにブックマークを追加し始めることができます。 ブックマークをブックマークコレクションの開始または終了に追加するには、addBookMarkAtEnd
メソッドと addBookMarkAtStart
メソッドを使用できます。
ヒント
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
public class Main {
public static void main(String[] args) throws IOException {
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));
// Get BookmarkManager object
BookmarkManager bookmarks = pdf.getBookmark();
// Add bookmarks
bookmarks.addBookMarkAtEnd("Title Page", 0);
bookmarks.addBookMarkAtEnd("Table of Contents", 1);
bookmarks.addBookMarkAtEnd("Dedication Page", 2);
bookmarks.addBookMarkAtEnd("First Page", 3);
bookmarks.addBookMarkAtStart("Page 4", 6);
pdf.saveAs(Path.of("bookmarked.pdf"));
}
}
上記のPDFビューアを使用すると、ほとんどのブラウザーの左上隅にある目次を確認して、追加したすべてのブックマークを確認できます。
複数のブックマークレイヤーを追加
この例では、単一のブックマーク層を作成したときと同様に、ブックマークを追加することから始めます。 次に、insertBookmark メソッドを使用して、新しいレイヤーに新しいブックマークを追加し、その名前をメソッドの最初のパラメーターを使用して設定します。 2番目のパラメーターは、新しいブックマークがリンクするページを指定します。 新しいレイヤーを作成するには、新しいブックマークを既存のブックマークの「子」として作成します。これは、メソッドの第3パラメーターを使用して行います。
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
public class Main {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.fromFile(Path.of("NovelSample.pdf"));
// Get BookmarkManager object
BookmarkManager bookmarks = pdf.getBookmark();
// Add bookmarks
bookmarks.addBookMarkAtEnd("Title Page", 0);
bookmarks.addBookMarkAtEnd("Table of Contents", 1);
bookmarks.addBookMarkAtEnd("Dedication", 2);
// Insert second layer bookmarks
bookmarks.insertBookmark("First Page", 3, "Table of Contents", null);
bookmarks.insertBookmark("Second Page", 4, "Table of Contents", "First Page");
bookmarks.insertBookmark("End of Sample", 7, "Title Page", null);
bookmarks.insertBookmark("Fourth page", 6, "Table of Contents", "Second Page");
pdf.saveAs(Path.of("multiLayer.pdf"));
}
}
ここでは、新しいブックマークのツリー構造を持つPDFをご覧いただけます。 自分で概要を確認して、insertBookmark
機能が新しいブックマークのレイヤーをどのように追加したかを確認してください。
ブックマークを取得する
IronPDFのブックマークツールは、新しいブックマークを追加するだけでなく、既存のブックマークを取得して表示します。 ブックマークをナビゲートするには、まず PdfDocument.fromFile メソッドを使用してPDFを読み込みます。 次に、BookmarkManager オブジェクトにアクセスし、getBookmarks メソッドを使用して、子ブックマークを含むすべてのブックマークを取得します。 最後に、リスト内のインデックスでブックマークを取得するためにget
メソッドを使用します。
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
public class Main {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.fromFile(Path.of("bookmarked.pdf"));
BookmarkManager bookmarks = pdf.getBookmark();
// Retrieve bookmarks list
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(2);
}
}
特定のインデックスにブックマークを挿入する
取得したブックマークを使用して、ドキュメント内の特定のインデックスに新しいブックマークを追加することができます。 これを行うには、対象のブックマークを選択し、その後に新しいブックマークを追加するためにaddNextBookmarkメソッドを使用します。 たとえば、「複数のブックマーク階層を追加する」セクションからPDFを取得し、「Third Page」ブックマークの後にブックマークを追加します。 addChildBookmark
メソッドを使用して、より深い層として子ブックマークを追加することもできます。
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.bookmark.Bookmark;
import com.ironsoftware.ironpdf.bookmark.BookmarkManager;
public class Main {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.fromFile(Path.of("multiLayer.pdf"));
BookmarkManager bookmarks = pdf.getBookmark();
List<Bookmark> bookmarkList = bookmarks.getBookmarks();
Bookmark bookmark = bookmarkList.get(5);
bookmark.addNextBookmark("Fourth Page", 6);
// Add another layer to 'Third page' bookmark
bookmark.AddChildBookmark("Section 1", 7);
pdf.saveAs(Path.of("specificIndex.pdf"));
}
}