package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; import com.aspose.pdf.Document; import com.aspose.pdf.OutlineItemCollection; import com.aspose.pdf.facades.Bookmark; import com.aspose.pdf.facades.Bookmarks; import com.aspose.pdf.facades.PdfBookmarkEditor; public class GetBookmarksFromPDFDocument { public static void main(String[] args) { gettingBookmarks(); gettingBookmarksPageNumber(); } public static void gettingBookmarks() { // Open document Document pdfDocument = new Document("input.pdf"); // Loop through all the bookmarks for (OutlineItemCollection outlineItem : (Iterable<OutlineItemCollection>) pdfDocument.getOutlines()) { System.out.println("Title :- " + outlineItem.getTitle()); System.out.println("Is Italic :- " + outlineItem.getItalic()); System.out.println("Is Bold :- " + outlineItem.getBold()); System.out.println("Color :- " + outlineItem.getColor()); } } public static void gettingBookmarksPageNumber() { // Create PdfBookmarkEditor PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor(); // Open PDF file bookmarkEditor.bindPdf("input.pdf"); // Extract bookmarks Bookmarks bookmarks = bookmarkEditor.extractBookmarks(); for (Bookmark bookmark : (Iterable<Bookmark>) bookmarks) { String strLevelSeprator = ""; for (int i = 1; i < bookmark.getLevel(); i++) { strLevelSeprator += "---- "; } System.out.println("Title :- " + strLevelSeprator + bookmark.getTitle()); System.out.println("Page Number :- " + strLevelSeprator + bookmark.getPageNumber()); System.out.println("Page Action :- " + strLevelSeprator + bookmark.getAction()); } } }