Escribiendo en PDF–primera parte

En uno de los desarrollos que tengo ahora mismo bajo mi supervisión en el trabajo necesitábamos que los documentos que generábamos se creasen en formato PDF, pudiéramos trabajar con plantillas  y se guardasen para su posterior consulta o impresión.

Uno de los requisitos era que la librería para generarlos fuera totalmente gratuita, o por lo menos que tuviera una licencia de ese tipo en el ámbito en el que nos movemos, después de repasar un poco el panorama que había y las distintas funcionalidades que nos ofrecía cada uno de ellos, nos decantamos por itextsharp que es una port de la libreria itext para java que nos ofrece la generación de pdf’s con datos desde un xml o una base de datos, sirve los pdf’s generados dinámicamente desde paginas web, nos permite numerar, poner marcas de agua e incluso firmar electrónicamente los documentos generados.

En esta primera parte os voy a contar como con unas poquitas líneas de código podemos crear nuestro primer documento e insertarle contenido.

Básicamente, después de añadir a nuestro proyecto, ya sea web o windows form, la librería itextsharp.dll podremos empezar a utilizarla simplemente haciendo los imports necesarios.

using System.IO;
using iTextSharp.text.pdf;
using iTextSharp.text;

Una vez hecho esto, en este ejemplo he creado un método para encapsular la creación del fichero PDF y meterle el contenido.

private static void GenerarPdf()
{
 // definimos un nuevo documento
 var documento = new Document(PageSize.A4, 25, 25, 25, 25);
 // creamos la instancia para escribir el pdf
 PdfWriter writer= PdfWriter.GetInstance(documento, new FileStream("prueba.pdf", FileMode.OpenOrCreate));
 // abrimos el documento
 documento.Open();
 // añadimos unas propiedades al documento
 documento.AddCreationDate();
 documento.AddAuthor("Autor del documento");
 documento.AddTitle("Documento de prueba");
 // Empezamos a rellenar el documento con nuestro texto
 documento.Add(new Paragraph("Mi primer documento pdf con itextsharp"));
 var texto = new Chunk("Esto es mas texto", FontFactory.GetFont("Calibri",14, BaseColor.BLUE));            
 documento.Add(new Paragraph(texto));
 documento.NewPage();
 documento.Add(new Paragraph("Mi primer documento pdf con itextsharp"));
 // Cerramos el documento, ya estará en nuestro disco guardado
 documento.Close();               
}

Podremos ver como por arte de magia se crea un nuevo documento pdf en el directorio donde estemos ejecutando nuestra aplicación de windows form.

Las posibilidades de la librería son casi infinitas, pero lo mejor es que vayas descubriéndolas tu con el uso poco a poco, de todas formas iré añadiendo mas información sobre como realizar algunas cosas en este mismo blog.

You can leave a response, or trackback from your own site.