itext
Pdf Creación: iText 5 versus iText 7
Buscar..
Observaciones
En el diseño original de iText, fue posible crear un objeto de Document alto nivel y luego tener diferentes objetos DocListener que escuchen ese objeto de Document . Esto se logró usando diferentes escritores: un PdfWriter , un HTMLWriter y un RtfWriter . Cuando se utiliza un PdfWriter , un PdfDocument se creó internamente. Esta clase de bajo nivel se encargó de todas las estructuras relacionadas con PDF. Más o menos lo mismo sucedió con los otros formatos.
A lo largo de los años, iText se especializó y se convirtió en una biblioteca de PDF pura. La creación de HTML y RTF se abandonó, por lo que ya no era necesario crear un Document antes de crear un PdfWriter , pero tuvimos que mantener la arquitectura original porque no estábamos listos para romper la API.
A lo largo de los años, agregamos más y más funciones de PDF a iText, y el hecho de que PdfDocument fuera una clase para uso interno solo se volvió problemático. Utilizamos soluciones alternativas para poder introducir nuevas funciones de PDF que pertenecían a la clase PdfDocument hasta el punto en que alcanzamos el límite de lo que consideramos aceptable como soluciones alternativas.
Fue entonces cuando decidimos reescribir iText desde cero y crear una arquitectura completamente nueva para iText. Ahora tenemos una clara distinción entre el PdfDocument (para operaciones de bajo nivel) y el Document (para funcionalidad de alto nivel). Ya no tenemos que abrir el documento, y si usamos el enfoque de probar con recursos , ni siquiera tenemos que cerrarlos nosotros mismos.
¿Quiere saber más? ¡Consigue el ebook gratis!
HelloWorld.java (iText 5)
Supongamos que queremos crear un documento simple de Hello World:
En iText 5, esto se haría así:
public void createPdf(String dest)
throws DocumentException, IOException {
Document document = new Document();
PdfWriter.getInstance(
document, new FileOutputStream(dest));
document.open();
document.add(new Paragraph("Hello World!"));
document.close();
}
Fuente: developers.itextpdf.com
HelloWorld1.java y HelloWorld2.java (iText 7)
Supongamos que queremos crear un documento simple de Hello World:
En iText 7, podríamos hacer esto así:
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
Document document = new Document(pdf);
document.add(new Paragraph("Hello World!"));
document.close();
}
O incluso podríamos hacerlo así:
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
try (Document document = new Document(pdf)) {
document.add(new Paragraph("Hello World!"));
}
}
Fuente: developers.itextpdf.com y el tutorial de iText 7: Building Blocks .

