martes, 15 de junio de 2010

Creación y modificación de documentos PDF y análisis de metadatos desde código C# (Parte I)

pdf-embedded[1] Buenas a todos, en la cadena de post que inicio hoy os voy a enseñar a tratar los documentos PDF desde código C# en .Net.

A lo largo de los próximos post os mostraré como se pueden crear documentos PDF de forma rápida y sencilla con pocas líneas de código C#, aprenderemos como modificar estos documentos y jugaremos con los metadatos de los mismos, pudiendo modificarlos a nuestro antojo o simplemente consultar información de los metadatos, como quien a generado el fichero, que programa, cual ha sido la fecha de creación, etc.

Para realizar todas estas labores vamos a utilizar las librerías PDFSharp que podréis encontrar aquí. El código es totalmente libre y lo podéis descargar desde la página de sourceforge.net, aquí.

Una vez que os hayáis bajado los ensamblados, al descomprimirlos encontraréis varias dll, para realizar una introducción usaremos la librería “PdfSharp.dll” que encontraréis en la ruta “PDFsharp-MigraDocFoundation-Assemblies-1_31\GDI+”. La cargáis en un proyecto vacío y agregáis el siguiente código, yo lo he separado en una clase a la que he llamado Metadata por facilitar la comprensión del código para futuros post:

Clase Metadata

using PdfSharp.Pdf;

namespace Prueba1
{
    class Metadata
    {
         public string Start(string path)
        {
            PdfDocument document = PdfReader.Open(path);
            return document.Info.Author;
        }
    }
}

Programa principal

Metadata mt = new Metadata();
label1.Text=mt.Start("C:/prueba.pdf");

En el código hemos cargado un documento “prueba.pdf” que teníamos en la ruta C:, lo hemos abierto y hemos mostrado el atributo “Author” de sus metadatos en un label. Un ejemplo muy sencillo y que os servirá para aprender a utilizar las funcionalidades básicas de la gestión de documentos PDF en .Net.

En el próximo post continuaremos con la explicación de como generar un documento PDF desde cero.

Saludos!

No hay comentarios: