Biblioteca Java para la gestión de documentos PDF
API Java de código abierto para crear, editar y manipular archivos PDF desde sus propias aplicaciones.
OpenPDF es una biblioteca de PDF de código abierto para desarrolladores de Java. Permite crear y modificar archivos PDF desde aplicaciones Java sin dependencias externas. OpenPDF tiene una licencia LGPL y MPL y es una bifurcación de la versión 4 de iText.
PDF es uno de los formatos de documentos favoritos del mundo y sigue siendo muy útil. La API de OpenPDF admite varias características importantes, como la creación y modificación de documentos PDF, la adición de imágenes a PDF, la inserción de nuevas páginas en un archivo PDF existente, la creación de párrafos, la adición de encabezados y pies de página, la creación de TOC, la edición de contenido y más.
Primeros pasos con OpenPDF
Se requiere Java 8 o posterior para usar la biblioteca OpenPDF. Todas las versiones de Java desde la 8 hasta la 12 han sido probadas para funcionar. Compilará las fuentes de Java y empaquetará las clases binarias en paquetes jar de forma predeterminada.
Dependencia de OpenPDF Maven
<dependency>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf</artifactId>
<version>1.3.11</version>
</dependency>
Crear y editar archivos PDF a través de la API de Java
OpenPDF proporciona la funcionalidad para la creación de documentos PDF, así como modificaciones desde aplicaciones Java. Los desarrolladores de software pueden crear fácilmente documentos PDF con contenido e imágenes. Para crear un nuevo documento, en primer lugar, debe crear un objeto de documento y luego crear un escritor que escuche el documento y dirija una secuencia de PDF al archivo. Una vez que se crea el documento, puede agregar fácilmente párrafos, agregar nuevas páginas e insertar imágenes con facilidad.
Crear documento PDF - Java
// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("FileFormat.pdf"));
// Open document
document.open();
// Add pargraph
document.add(new Paragraph("FileFormat Developer Guide"));
// Close document
document.close();
Insertar imágenes en documentos PDF a través de Java
OpenPDF permite a los programadores de Java insertar imágenes en documentos PDF dentro de sus propias aplicaciones Java. Las imágenes siempre agregan más valor a la pieza de contenido. Para insertar una imagen, debe proporcionar un nombre de imagen y una ubicación; luego, llamando al objeto del documento, puede abrir el documento y agregar la imagen en la página o ubicación deseada. Una vez hecho esto, solo necesita cerrar el documento para confirmar los cambios.
Agregar imagen en PDF - Java
// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
// Open document
document.open();
Image jpg = Image.getInstance("sample.jpg");
document.add(jpg);
// Close document
document.close();
Agregar listas a documentos PDF
La API de OpenPDF facilita a los desarrolladores de Java agregar listas a documentos PDF. Puede crear una lista y luego agregar elementos de lista a PDF con facilidad. También puede pasar un símbolo para marcar los elementos de la lista (carácter Unicode). También puede seleccionar una lista numerada o con letras. También hay clases especializadas en letras romanas y letras griegas.
Agregar marcadores a la lista en PDF a través de Java
Document document = new Document(PageSize.A4);
PdfWriter instance = PdfWriter.getInstance(document, new FileOutputStream("out.pdf"));
instance.setViewerPreferences(PdfWriter.PageModeUseOutlines);
document.open();
List list = new List();
list.add(new ListItem(new Chunk("ABC").setLocalDestination("dest1")));
list.add(new ListItem(new Chunk("XYZ").setLocalDestination("dest2")));
document.add(list);
// add outline items
PdfOutline root = instance.getDirectContent().getRootOutline();
new PdfOutline(root, PdfAction.gotoLocalPage("dest1", false), "abc-item");
new PdfOutline(root, PdfAction.gotoLocalPage("dest2", false), "xyz-item");
document.close();
Agregar encabezado y pie de página a documentos PDF a través de Java
Los encabezados y pies de página pueden contener información importante sobre un documento o datos para ayudar a mantener organizados los documentos más largos y hacerlos más fáciles de leer. Los encabezados y pies de página normalmente incluyen información adicional, como números de página, fechas, el nombre del autor, notas al pie, etc. La API de OpenPDF permite a los desarrolladores de Java agregar encabezados y pies de página a sus documentos PDF con solo un par de líneas de código.
Cómo iniciar encabezado y pie de página desde la primera página a través de Java
Document document = new Document();
document.setPageSize(PageSize.A7.rotate()); // just to make output smaller
document.setMargins(15f, 15f, 24f, 20f);
HeaderFooter header = new HeaderFooter(new Phrase("This is a header."), false);
HeaderFooter footer = new HeaderFooter(new Phrase("This is a footer on page "), new Phrase("."));
document.setHeader(header);
document.setFooter(footer);
document.open(); // only open the document after header/footer have been set
document.add(new Paragraph("Hello World"));
document.add(Chunk.NEXTPAGE);
document.add(new Paragraph("Hello new page."));