Mostrar información en un PDF

nullRecientemente he prometido a los amigos Yakano y Gaston explicar una forma de mostrar datos en un Formulario Pdf (alias FDF).

Aunque existe una forma de hacerlo mediante la herramienta pdftk (disponible desde la línea de comandos) he optado por mostrar una forma menos conocida y soportada por la mismísima Adobe: XFDF.

El único requisito para su uso es estar familiarizado con el Xml (yo me declaro públicamente un ferviente admirador junto con su tecnología hermana Xslt) y tener un formulario pdf para rellenar (si lo necesitas, en el siguiente artículo se muestra cómo crear un formulario pdf).

Idea general

El funcionamiento es realmente sencillo: lo único que necesitamos es un fichero de texto plano (el que se genera con cualquier editor de texto como mousepad o gedit) en el que pondremos (siguiendo un formato, xml, determinado) los datos que queremos que aparezcan en los distintos campos del formulario pdf.

Para obtener un pdf con los campos rellenos sólo tendremos que abrir el fichero que hemos creado (y que tendrá extensión xfdf) en lugar del pdf original.

Automáticamente aparecerá ante nosotros el pdf con los datos que hemos indicado en el fichero xml.

Fichero de datos

Su estructura es la que puede verse en la siguiente imagen

null

Destacar:

  1. La entrada f, con atributo href, indica el fichero pdf a rellenar con los datos que indicaremos más abajo (el fichero del ejemplo es info.pdf).
  2. Dentro de la etiqueta fields aparecerán tantas entradas field como campos queramos rellenar (no tienen que estar todos los campos del documento, sólo los que nos interesen)
  3. El atributo name de cada etiqueta field indica el nombre del campo a rellenar (en el ejemplo txtNombre1)
  4. La etiqueta value dentro de cada field indica el valor que queremos mostrar en el campo (en el ejemplo joaquín luque)
  5. Los puntos suspensivos () de la línea 11 no deben aparecer en tu fichero (los he puesto para indicar que se pueden colocar tantas etiquetas field como sean necesarias ;) )

Conclusión

Sólo te queda guardar el fichero anterior con los datos utilizando la extensión .xfdf y abrirlo haciendo doble-click sobre el mismo.

Automáticamente verás el pdf con los datos que has indicado.

Posibles contribuciones

Para aquellos que deseen compartir sus conocimientos y experiencias con el resto, sería interesante conocer

  • ¿conoces otra forma de hacer lo mismo?
  • ¿te atreves a crear un script que genere automáticamente el fichero xml anterior a partir de cualquier fdf utilizando pdftk?
  • ¿te parece interesante que explique cómo hacer lo mismo con pdftk?

5 comentarios en “Mostrar información en un PDF

  1. Bruno dijo:

    Hola
    ¿podrías enviarme el pdf y el xfdf de prueba? para el trabajo estoy intentando crear un formulario en pdf, pero no me dejan instalarme el scribus… Me harías un gran favor.

    Saludos!

  2. J dijo:

    Gracias por la explicación. Soy programador aficionado, hago pequeñas utilidades para mi trabajo y llevo tiempo detrás del asunto de cumplimentar formularios pdf. He descubierto que andaba muy despistado ( explorando el modelo de objetos de acrobat…).

    pd: Enhorabuena por tu blog. Me parece ameno y muy interesante. Lo visitaré con frecuencia.

  3. Alberto dijo:

    excelente pagina, interesantes y útiles consejos.
    Hay alguna forma de extraer datos de un documento fdf, sin tener que abrirlo con su respectivo pdf.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s