Cómo trabajar con las facadas PDF en Java

Cómo trabajar con las facadas PDF en Java

Anotaciones Flat

Flatte todas las anotaciones en el flujo de contenido de la página para que ya no sean editables o removibles como objetos separados.Este es un paso común antes de imprimir o archivar un documento:

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

Remover los Bookmarks

Los marcadores de la página (también llamados los marcados) son las entradas del árbol de navegación que se ven en las páginas del lector PDF:

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

Substituir texto

Substituir una cinta en todas las páginas de un documento. Esto es útil para rellenar los lugares del modelo antes de distribuir un texto:

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

Cripta un documento

Aplique AES-256 cifrado con permiso de acceso utilizando PdfFileSecurity.El DocumentPrivilege.getForbidAll() Precisa disminuye todas las operaciones; permiso individual Puede ser reactivado con métodos de setter:

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

Término de extracción

Iterate sobre página texto utilizando PdfExtractor.llamadas extractText() Primero para procesar todas las páginas, luego recoger el texto de cada página con getNextPageText():

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

Ver también

 Español