iText es una librería libre (distribuida bajo licencia MPL y LGPL) para Java que permite crear archivos PDF dinámicamente ("al vuelo").
![]()
Con iText se pueden generar documentos, manipular documentos ya creados, agregar índices, números de páginas y marcas de agua, etc.
A continuación, veremos un ejemplo muy elemental de los proporcionados en el sitio oficial:
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
public class Test {
public static void main(String[] args) {
Document documento = new Document();
try {
PdfWriter.getInstance(documento, new FileOutputStream("LuAuF.pdf"));
documento.open();
documento.add(new Paragraph("http://luauf.com/"));
} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}
documento.close();
}
}
iText requiere el Java Development Kit (JDK) 1.4 o superior.
Vía: Seraphinux
11 Respuestas para "Crear archivos PDF con Java"
ps nomas como agregar el iText a netbeans 6.1 o 6.5
todvia no puedo y si pdrian poner un ejemplo donde se cree un pdf
y si las cordenadas funciona igual q en un Frame
Para agregar iText a tu proyecto de NetBeans has de abrir tu árbol de proyectos, sobre la parte ‘Libraries’ y clickar en ‘add JAR/Folder’ elijes el archivo *.jar de iText y listo.
El codigo que muestran en esta pagina funciona perfectamente para tu proyecto de Netbeans. Si por ejemplo quisieras generarlo desde un Servlet te serviría este código para pribar (en tu método doGet):
Document document = new Document(PageSize.A4, 50, 50, 100, 72);
try {
// Paso 2: Establecemos el ContentType y creamos una instancia del Writer
response.setContentType(“application/pdf”);
PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream());
writer.setPageEvent(new PdfPageEventHelper());
// Paso 3
document.open();
// Paso 4
document.add(new Paragraph(“Hello World”));
document.add(new Paragraph(new Date().toString()));
}
catch(DocumentException de) {
de.printStackTrace();
System.err.println(“document: ” + de.getMessage());
}
// Paso: Cerramos el ‘document (el ‘outputstream’ se cierra automáticamente internamente)
document.close();
Todo esto sin olvidar de importar las clases correspondientes. El apartado de ‘importaciones’ completo quedaría así:
import java.io.IOException;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfPageEventHelper;
import com.lowagie.text.pdf.PdfWriter;
Espero que le sirva a alguien. Saludos!!
Muy buen aporte! Muchas gracias!
Hola oye un favor enorme estoy haciendo una aplicacion de escritorio y ya e intentado de mil formas mostrar un pdf que tengo, en un jframe y no puedo visualizarlo que me falta. tengo la libreria y luego? disculpa pero soy muy nuevo en java y aplicando itext es la primera ves.
Gracias por tu tiempo.
Hola!!
Necesito crear archivos pdf, desde paginas html, pero de cierta forma mas avanzados, he logrado convertir una página web con código sencillo a pdf y se visualizan de manera idéntica, pero necesito lograr que también me imprima los frames que traen informacion de otras ligas y las funciones javascript que arrojan texto…
Alguien me podria ayudar?
Alguna idea de como hacerlo??
Les agradeceré su ayuda.
Eli, estoy en las mismas, aun no consigo, te paso mi mail y enviame el tuyo en cuanto logre hacer este cometido, ya que debo si o si debo hacerlo.
Aqui les dejo un link bastante interesante!
http://www.theserverside.com/discussions/thread.tss?thread_id=50057
Hola!!!
Dos preguntas:
1. Como funciona HTMLWorker junto con iText, para crear los pdf??
no hay mucha información sobre ese tema, y aún no consigo convertir un html a pdf por completo.
2. Se pude leer el html utilizando la estructura DOM pero como imprimir los valores de cada nodo al pdf?? traté de hacerlo obtenido el valor del nodo y mandarlo como variable a un parrafo con iText, pero no funciona.
O alguna otra forma de convertirlos mediante java??
Excelente info… gracias!!!!
Muchas gracias esa informacion esta muy buena y me sirvio mucho…
Si desean el itext, no es sino que me digan…
alguien me podria ecir como cambiar el tamaño de fuente
Comentarios: