Banner 1

Crear formularios PDF (FDF) con Scribus

null
Este curso parece que ha causado sensación una plantilla que me hice para pedir información a los compañeros/as cuando algún padre/madre viene a tutoría para hablar de su hijo/a (perdón por usar el lenguaje cooeducativo).

Si ya estéticamente parece agradarles, mucho más curiosidad despierta en ellos cuando descubren que puede rellenarse desde el ordenador y que las cuatro fichas que incluye cada folio (para ahorrar papel) se copian automáticamente cuando se rellena una de ellas.

La magia reside en el uso de formularios PDF (tambien conocidos como FDF o PDF Forms) y en este artículo me gustaría compartir con vosotros los principios básicos que os permitan crear los vuestros propios.

Conocimientos previos

Aunque cualquiera puede hacer algo parecido a lo que se mostrará en el artículo simplemente

  • copiando parte del código del ejemplo y
  • aplicando un poco de lógica para adaptarlos a vuestras necesidades

sería recomendable (aunque no necesario) tener algo de experiencia en

  • el manejo de Scribus (explicar su uso escapa a éste artículo)
  • tener nociones de JavaScript (es el lenguaje utilizado para dotar de funcionalidad el documento PDF)

Diseño del formulario

Este paso no difiere de la creación de cualquier documento con Scribus. El diseño y la información que aparezca en cada formulario dependerá de las necesidades y la creatividad de cada uno.

Si acaso recomendar el uso de capas para facilitar el trabajo con el mismo al evitarse de este modo que unos objetos (los textos e imágenes estáticos) interfieran con las cajas de texto y listas desplegables que añadiremos en el próximo paso.

Para mostrar el diálogo de capas (si es que no lo tienes visible) debes optar por

  • seleccionarlo en el menú Ventanas > Capas
  • pulsar la tecla F6 (atajo de teclado de la entrada de menú anterior)

En el ejemplo he optado por utilizar tres capas:

  1. Capa Marcos para el borde exterior de esquinas redondeadas
  2. Capa Textos para las etiquetas que indican la información de cada apartado del documento

Capa Controles para las cajas de texto, listas deplegables y similares que nos van a permitir introducir información en el documento.

Una vez que generemos el documento PDF el resultado será algo tan “demoledor” como lo que puede verse en la siguiente imagen

NOTA: Obsérvese que la idea es imprimir el documento relleno y colocarlo en los casilleros de cada uno de los profesores que dan clase a un alumno/a; es por ello que no tiene sentido el relleno de color de los campos del documento. Se han resaltado única y exclusivamente para facilitaros su identificación. Cuando se imprime el documento (en una láser sin color) no aparecen los recuadros.

Tipos de campos en un PDF

Con Scribus podemos añadir al documento los siguientes tipos de campos

NOTA: De los distintos tipos de campos que podemos utilizar quizás los únicos que requieran cierta explicación son los dos últimos (el resto son los típicos de cualquier formulario web). La diferencia básica es que el cuadro combinado permite seleccionar en una lista desplegable una única entrada mientras que la lista ofrece varias opciones para que seleccionemos las que nos interesen sin tener que desplegarla para ver su contenido.

Aunque Scribus va asignando nombres automáticamente conforme vamos colocando los campos en el formulario es conveniente darles un nombre que tenga sentido para nosotros y que nos permita identificarlos (y referenciarlos) en el próximo paso.

Para ello con hacer doble-click sobre el control automáticamente aparecerá el formulario Propiedades de campo donde poder asignar un nombre que tenga sentido para nosotros

“Animar” el formulario

Una vez que tenemos colocados los distintos controles (campos del formulario) en nuestro documento el siguiente paso es dotarlos de funcionalidad.

Como éste es un artículo de introducción no haremos gran cosa (si queréis que ampliemos el “temario” no tenéis más que pedirlo a través de los comentario como suele ser habitual) y nos conformaremos con volcar la información que introduzcamos en otros campos del documento (se pueden realizar validaciones, cálculos a partir de los datos, …)

Introducir código en un campo del documento

Deberemos hacer doble-click sobre el campo para abrir el formulario Propiedades del objeto y en la pestaña Acción, tras elegir el tipo de evento (en el ejemplo “Se pierde el foco“) pulsamos el botón Editar

En el formulario que nos aparecerá incluiremos el código javaScript necesario para que cambie el comportamiento y/o contenido del formulario cuando pulsemos la tecla tabulador y se abandone el campo txtFecha1 (que es el elegido en el ejemplo)

Código javaScript de ejemplo

Como hemos dicho sólo vamos a volcar el dato introducido por el usuario (una fecha) a otros campos del formulario (los campos txtFecha2, txtFecha3 y txtFecha4) correspondientes a las otras tres fichas que tenemos dentro del A4 de nuestro documento.

El código queda como sigue

this.getField(”txtFecha2″).value=this.getField(”txtFecha1″).value
this.getField(”txtFecha3″).value=this.getField(”txtFecha1″).value
this.getField(”txtFecha4″).value=this.getField(”txtFecha1″).value

donde:

  • el objeto this hace referencia al documento en el que se encuentran los controles o campos del formulario
  • el método getField(”NOMBRE_CAMPO”) permite obtener una referencia al control que queremos modificar.
  • la propiedad value permite obtener el contenido (o valor) de un campo

luego si con

this.getField(”txtFecha1″).value

obtenemos la información que hemos introducido en el campo txtFecha1, con

this.getField(”txtFecha2″).value=this.getField(”txtFecha1″).value

lo que hacemos es asignar al campo txtFecha2 el contenido del campo txtFecha1

NOTA: instrucciones como la anterior deberemos incluirlas en los distintos campos de texto para hacer copias en el resto de campos. Por ejemplo, en el campo txtFecha2 deberemos asignar valor a los campos fecha 1, 3 y 4 con un código similar al que hemos mostrado al principio.

Conclusión

Aunque se trata de una “simple” introducción al mundo de los formularios pdf desde la perspectiva del Software Libre considero que es un buen punto de partida para

  1. Mostrar la existencia y potencia de esta tecnología
  2. Despertar el gusanillo de aquellos que habéis llegado hasta aquí leyendo y daros las bases para que comencéis a experimentar e investigar por vuestra cuenta

Cualquier problema o duda que pueda surgiros no tenéis más que indicarlo en los comentarios o a través del formulario de soporte técnico. Gustoso os ayudaré respondiendo a vuestras dudas y/o creando un nuevo artículo profundizando en aquellos temas que os resulten de interés y/o utilidad.


fuente:


http://andalinux.wordpress.com/2008/11/17/crear-formularios-pdf-fdf-con-scribus/

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay