Cara Bekerja dengan PDF Facades di Java

Cara Bekerja dengan PDF Facades di Java

Ratakan Anotasi

Ratakan semua anotasi ke dalam aliran konten halaman sehingga mereka tidak lagi dapat diedit atau dihapus sebagai objek anotasi terpisah. Ini adalah langkah umum sebelum mencetak atau mengarsipkan dokumen:

try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
    editor.bindPdf("annotated.pdf");
    editor.flattenAnnotations();
    editor.save("flat.pdf");
}

Hapus Bookmark

Hapus semua bookmark outline dari dokumen. Bookmark (juga disebut outline) adalah entri pohon navigasi yang terlihat di bilah sisi pembaca PDF:

try (PdfBookmarkEditor editor = new PdfBookmarkEditor()) {
    editor.bindPdf("input.pdf");
    editor.deleteBookmarks();
    editor.save("no-bookmarks.pdf");
}

Ganti Teks

Ganti sebuah string di semua halaman dokumen. Ini berguna untuk mengisi placeholder template sebelum mendistribusikan dokumen:

try (PdfContentEditor editor = new PdfContentEditor()) {
    editor.bindPdf("template.pdf");
    editor.replaceText("{{Date}}", "2026-05-24");
    editor.save("output.pdf");
}

Enkripsi Dokumen

Terapkan enkripsi AES-256 dengan izin akses menggunakan PdfFileSecurity. Preset DocumentPrivilege.getForbidAll() menonaktifkan semua operasi; izin individual kemudian dapat diaktifkan kembali dengan metode setter:

try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
    DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
    priv.setAllowPrint(true);
    security.encryptFile("user", "owner", priv, KeySize.x256);
}

Ekstrak Teks

Iterasi teks halaman menggunakan PdfExtractor. Panggil extractText() terlebih dahulu untuk memproses semua halaman, kemudian ambil teks setiap halaman dengan getNextPageText():

try (PdfExtractor extractor = new PdfExtractor()) {
    extractor.bindPdf("document.pdf");
    extractor.extractText();
    while (extractor.hasNextPageText()) {
        String text = extractor.getNextPageText();
        System.out.println(text);
    }
}

Lihat Juga

 Bahasa Indonesia