JavaでPDFブックマークとアウトラインを追加する方法
JavaプロジェクトにPDFブックマークを含めることで、PDFの使いやすさとナビゲーションを大幅に向上させることができます。 PDFのアウトラインは、PDF内での簡単なナビゲーション方法を提供します。目次のように、ドキュメント内の重要なページに簡単に移動することができます。
IronPDFは、PDFファイルの操作を簡単にする強力なPDFツールです。 そのブックマークツールは、PDFファイルにカスタムブックマークを作成するための簡潔で使いやすい方法を提供します。
ブックマークとアウトラインを PDF に追加する方法
- JavaライブラリをインストールしてPDFにブックマークを追加
- 利用する PdfDocument Javaで既存のPDFファイルを読み込むクラス
- ブックマークを作成およびカスタマイズします ブックマークマネージャ クラス
- 使用
末尾にブックマークを追加
PDFの特定のページにブックマークを追加するために - 新しいアウトラインとブックマークを含むPDFドキュメントを保存します。
今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。
始める前に
また、IronPDFは開発用にライセンスされている必要があるため、ライセンスキーを正しく設定する必要があります。
アウトラインとブックマークを追加する例
今日の例として、これを使用しますサンプルPDFアウトラインとブックマークを適用するには。
ブックマークの単一層を追加
このPDFを指定されたファイルパスから読み込んだ後、PdfDocumentクラス内で、ドキュメントにブックマークを追加するには、まずそれを取得します。ブックマークマネージャオブジェクト ブックマークは、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ビューアを使用すると、ほとんどのブラウザーの左上隅にある目次を確認して、追加したすべてのブックマークを確認できます。
複数のブックマークレイヤーを追加
この例では、単一のブックマーク層を作成したときと同様に、ブックマークを追加することから始めます。 次に、私たちは使用しますブックマークを挿入新しいレイヤーに新しいブックマークを追加し、その名前をメソッドの最初のパラメータで指定する方法。 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のブックマークツールは、新しいブックマークを追加するだけでなく、既存のブックマークを取得して表示します。 ブックマークを移動するには、まずPDFを使用してロードします。PdfDocument.fromFileメソッド。 次に、BookmarkManagerオブジェクトにアクセスして、ブックマークを取得すべてのブックマークを取得するメソッド(子ブックマークを含む)。 最後に、リスト内のインデックスでブックマークを取得するために 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それの後に新しいブックマークを追加するメソッド。 例えば、「Add Multiple Layers of Bookmarks」セクションから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"));
}
}