Menambahkan dan menghapus penanda PDF di Java

Gunakan koleksi outline dokumen untuk mengelola bookmark secara programatis.

Menambahkan bookmark tingkat atas

Gunakan contoh ini ketika dokumen harus mencakup satu entri outline tingkat atas.

  1. Buka PDF sumber Document.
  2. Buat sebuah OutlineItemCollection dan konfigurasikan judulnya, gaya, dan aksi.
  3. Tambahkan penanda buku ke outline dokumen dan simpan file.
public static void addBookmark(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        OutlineItemCollection pdfOutline = new OutlineItemCollection(document.getOutlines());
        pdfOutline.setTitle("Test Outline");
        pdfOutline.setItalic(true);
        pdfOutline.setBold(true);
        pdfOutline.setAction(new GoToAction(document.getPages().get_Item(1)));

        document.getOutlines().add(pdfOutline);
        document.save(outputFile.toString());
    }
}

Menambahkan bookmark anak

Contoh ini membuat bookmark induk dan menempatkan bookmark anak di bawahnya.

  1. Buka PDF sumber Document.
  2. Buat induk dan anak objek OutlineItemCollection.
  3. Tambahkan anak ke induk, tambahkan induk ke koleksi outline, dan simpan dokumen.
public static void addChildBookmark(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        OutlineItemCollection pdfOutline = new OutlineItemCollection(document.getOutlines());
        pdfOutline.setTitle("Parent Outline");
        pdfOutline.setItalic(true);
        pdfOutline.setBold(true);

        OutlineItemCollection pdfChildOutline = new OutlineItemCollection(document.getOutlines());
        pdfChildOutline.setTitle("Child Outline");
        pdfChildOutline.setItalic(true);
        pdfChildOutline.setBold(true);

        pdfOutline.add(pdfChildOutline);
        document.getOutlines().add(pdfOutline);
        document.save(outputFile.toString());
    }
}

Menghapus semua penanda buku

Gunakan pendekatan ini ketika seluruh koleksi outline harus dihapus dari dokumen.

  1. Buka PDF sumber Document.
  2. Hapus seluruh koleksi outline.
  3. Simpan file output yang telah dibersihkan.
public static void deleteBookmarks(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.getOutlines().delete();
        document.save(outputFile.toString());
    }
}

Menghapus bookmark tertentu

Gunakan contoh ini ketika satu bookmark bernama harus dihapus tanpa mengosongkan seluruh pohon garis besar.

  1. Buka PDF sumber Document.
  2. Hapus bookmark berdasarkan judul dari koleksi outline.
  3. Simpan dokumen yang diperbarui.
public static void deleteBookmark(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.getOutlines().delete("Child Outline");
        document.save(outputFile.toString());
    }
}