Mendapatkan, memperbarui, dan memperluas penanda buku PDF di Java
Contents
[
Hide
]
Aspose.PDF for Java mengekspose bookmark melalui model outline dokumen dan fasad PdfBookmarkEditor.
Mendapatkan properti bookmark
Gunakan contoh ini ketika Anda perlu memeriksa entri bookmark tingkat atas dalam outline dokumen.
- Buka PDF sumber
Document. - Iterasikan melalui koleksi outline.
- Baca dan cetak nilai judul bookmark, gaya, dan warna.
public static void getBookmarks(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
for (int i = 1; i <= document.getOutlines().size(); i++) {
OutlineItemCollection outlineItem = document.getOutlines().get_Item(i);
System.out.println(outlineItem.getTitle());
System.out.println(outlineItem.getItalic());
System.out.println(outlineItem.getBold());
System.out.println(outlineItem.getColor());
}
}
}
Mendapatkan nomor halaman bookmark
Contoh ini menggunakan PdfBookmarkEditor untuk mengekstrak judul bookmark, level, nomor halaman, dan aksi.
- Ikat PDF sumber ke
PdfBookmarkEditor. - Ekstrak koleksi bookmark dan iterasi melaluinya.
- Cetak tingkat, judul, nomor halaman, dan informasi aksi untuk setiap bookmark.
public static void getBookmarkPageNumber(Path inputFile) {
PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor();
try {
bookmarkEditor.bindPdf(inputFile.toString());
for (Bookmark bookmark : bookmarkEditor.extractBookmarks()) {
String levelSeparator = "";
for (int i = 0; i < bookmark.getLevel(); i++) {
levelSeparator += "----";
}
System.out.println(levelSeparator + " Title: " + bookmark.getTitle());
System.out.println(levelSeparator + " Page Number: " + bookmark.getPageNumber());
System.out.println(levelSeparator + " Page Action: " + bookmark.getAction());
}
} finally {
bookmarkEditor.close();
}
}
Mendapatkan bookmark anak
Gunakan contoh ini ketika Anda perlu memeriksa item outline tingkat atas dan yang bersarang.
- Buka PDF sumber
Document. - Iterasikan melalui outline tingkat atas dan cetak propertinya.
- Deteksi bookmark anak, lalu iterasi melalui mereka dan cetak propertinya.
public static void getChildBookmarks(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
for (int i = 1; i <= document.getOutlines().size(); i++) {
OutlineItemCollection outlineItem = document.getOutlines().get_Item(i);
System.out.println(outlineItem.getTitle());
System.out.println(outlineItem.getItalic());
System.out.println(outlineItem.getBold());
System.out.println(outlineItem.getColor());
int count = outlineItem.size();
if (count > 0) {
System.out.println("Child Bookmarks");
for (int j = 1; j <= outlineItem.size(); j++) {
OutlineItemCollection childOutlineItem = outlineItem.get_Item(j);
System.out.println(childOutlineItem.getTitle());
System.out.println(childOutlineItem.getItalic());
System.out.println(childOutlineItem.getBold());
System.out.println(childOutlineItem.getColor());
}
}
}
}
}
Memperbarui bookmark
Gunakan contoh ini ketika judul dan gaya bookmark yang ada harus dimodifikasi.
- Buka PDF sumber
Document. - Akses item outline target dan bookmark anaknya.
- Perbarui properti bookmark dan simpan dokumen.
public static void updateBookmarks(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
OutlineItemCollection outline = document.getOutlines().get_Item(1);
OutlineItemCollection childOutline = outline.get_Item(1);
childOutline.setTitle("Updated Outline");
childOutline.setItalic(true);
childOutline.setBold(true);
document.save(outputFile.toString());
}
}
Memperluas bookmark secara default
Gunakan contoh ini ketika panel bookmark harus terbuka dan menampilkan item outline yang diperluas saat dokumen ditampilkan.
- Buka PDF sumber
Document. - Atur mode halaman untuk menggunakan outline dan tandai setiap item outline sebagai terbuka.
- Simpan dokumen yang diperbarui.
public static void expandedBookmarks(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
document.setPageMode(PageMode.UseOutlines);
for (int i = 1; i <= document.getOutlines().size(); i++) {
OutlineItemCollection item = document.getOutlines().get_Item(i);
item.setOpen(true);
}
document.save(outputFile.toString());
}
}