El cuadro de las facadas en Aspose.PDF FOSS para Java
Aspose.PDF FOSS for Java includes a facades layer — a set of high-level, task-focused clases que proporcionan operaciones dirigidas en documentos PDF sin necesidad de navegación de la totalidad del modelo de objeto PDF. Cada clase de fachada sigue el mismo patrón: ligue a Documentos, realizar operaciones, salvar el resultado.
Todas las clases de la clase residen en el org.aspose.pdf.facades El paquete:
import org.aspose.pdf.facades.*;
PdfAnnotationEditor: Flatten y Remove Annotations
PdfAnnotationEditor proporciona operaciones para la gestión de anotaciones en gran parte: -Flaten en el contenido de la página, eliminan todas las anotaciones o eliminan Tipos de anotación por nombre.
try (PdfAnnotationEditor editor = new PdfAnnotationEditor()) {
editor.bindPdf("annotated.pdf");
// Flatten all annotations into the page content stream
editor.flattenAnnotations();
editor.save("flat.pdf");
}
El deleteAnnotations(annotationType) El sobrecargo acepta una string de tipo de anotación Como como "Highlight" o "Widget" Sólo se pueden eliminar las anotaciones de este tipo. countAnnotations() devolver el número total de anotaciones en todas las páginas.
PdfBookmarkEditor: Crear y eliminar las etiquetas de libros
PdfBookmarkEditor Gestión de la árbol de salida PDF (bookmarks). exponer métodos Para crear nuevos libros con createBookmarks(),Eliminar todos los libros con deleteBookmarks(), y eliminar las letras por título con deleteBookmarkByTitle().
try (PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor()) {
bookmarkEditor.bindPdf("input.pdf");
// Remove all bookmarks from the document
bookmarkEditor.deleteBookmarks();
bookmarkEditor.save("no-bookmarks.pdf");
}
El bindPdf(document) El exceso de carga acepta a Document objeto, que permite -Utilizar en los tubos donde el documento ya está cargado en la memoria.
PdfContentEditor: Substitución de texto
PdfContentEditor soporta la sustitución de texto dirigida dentro de los flujos de contenido PDF. replaceText(searchText, replaceText) sustituye todas las apariciones de una línea en todo el documento; replaceText(searchText, pageNumber, replaceText) Limita la sustitución a una sola página.
try (PdfContentEditor contentEditor = new PdfContentEditor()) {
contentEditor.bindPdf("template.pdf");
contentEditor.replaceText("{{CompanyName}}", "Acme Corp");
contentEditor.save("output.pdf");
}
TextReplaceOptions Controlar si el reemplazo debe conservar el original. caracteres de letra y tamaño o heredados de texto del contenido circundante. getStamps(pageNumber) Retorno StampInfo Objetos para todos los estampes en una página, y deleteStampById() Elimina un marcador específico por su identificador.
PdfFileSecurity: Cripto y Permisiones
PdfFileSecurity Gestión de seguridad a nivel de documento, incluyendo cifrado, decrypción, y permiso de acceso. las variantes del constructor aceptan los caminos de archivo, flujos o Una existente Document de la misma dirección junto al destino de salida.
DocumentPrivilege Representa las autorizaciones de acceso para el documento cifrado. Uso DocumentPrivilege.getForbidAll() para negar todas las operaciones del usuario, o DocumentPrivilege.getAllowAll() para dar acceso completo.
try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
privilege.setAllowPrint(true);
security.encryptFile("userPass", "ownerPass", privilege, KeySize.x256);
}
decryptFile(ownerPassword) Eliminar la cifrado cuando se conoce el contraseña del propietario. El Algorithm Enum proporciona RC4 y AES Las familias de algoritmos.; KeySize especifica la longitud clave.
PdfFileStamp: Añadiendo estampos y números de páginas
PdfFileStamp añade las etiquetas de texto y imagen a las páginas PDF y puede automáticamente generar números de página formatos. los estampos se posicionan utilizando coordenadas basadas en Puntuación en cada página.
try (PdfFileStamp stamp = new PdfFileStamp("input.pdf", "stamped.pdf")) {
// Add formatted page numbers to all pages
stamp.addPageNumber("Page #", PageNumberingStyle.NumeralsArabic,
0, 0, 0, 20);
}
Extractor de PDF: Texto y imagen extracción
PdfExtractor proporciona una API basada en la trayectoria para extraer texto y imágenes de Documento PDF. Después de vincular un documento, llame extractText() para desactivar el texto La extracción, luego iterado con hasNextPageText() y getNextPageText():
try (PdfExtractor extractor = new PdfExtractor()) {
extractor.bindPdf("document.pdf");
extractor.extractText();
while (extractor.hasNextPageText()) {
String pageText = extractor.getNextPageText();
// Collect extracted page content
}
}
Para la extracción de imágenes, extractImage() que desencadenan la extracción y hasNextImage() / getNextImage(outputStream) iterate sobre las imágenes extraídas. El getPassword() y setPassword() El sistema de datos es compatible con los documentos cifrados.
Empezando a
Añade la dependencia de Maven:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>0.1.0-alpha</version>
</dependency>
Todas las clases de facad requieren Java 11 o más tarde. Aspose.PDF FOSS para Java es Licenciado y disponible en https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.