You are on page 1of 6

Crear formularios PDF (FDF) con Scribus

Este curso parece que ha causado sensacin una plantilla que me hice para pedir informacin a los compaeros/as cuando algn padre/madre viene a tutora para hablar de su hijo/a (perdn por usar el lenguaje cooeducativo). Si ya estticamente parece agradarles, mucho ms 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 automticamente 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 artculo me gustara compartir con vosotros los principios bsicos que os permitan crear los vuestros propios.

Conocimientos previos
Aunque cualquiera puede hacer algo parecido a lo que se mostrar en el artculo simplemente copiando parte del cdigo del ejemplo y aplicando un poco de lgica para adaptarlos a vuestras necesidades sera recomendable (aunque no necesario) tener algo de experiencia en el manejo de Scribus (explicar su uso escapa a ste artculo) tener nociones de JavaScript (es el lenguaje utilizado para dotar de funcionalidad el documento PDF)

Diseo del formulario


Este paso no difiere de la creacin de cualquier documento con Scribus. El diseo y la informacin 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 imgenes estticos) interfieran con las cajas de texto y listas desplegables que aadiremos en el prximo paso. Para mostrar el dilogo 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 informacin de cada apartado del documento

Capa Controles para las cajas de texto, listas deplegables y similares que nos van a permitir introducir informacin 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: Obsrvese 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 identificacin. Cuando se imprime el documento (en una lser sin color) no aparecen los recuadros.

Tipos de campos en un PDF


Con Scribus podemos aadir al documento los siguientes tipos de campos

NOTA: De los distintos tipos de campos que podemos utilizar quizs los nicos que requieran cierta explicacin son los dos ltimos (el resto son los tpicos de cualquier formulario web). La diferencia bsica 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 automticamente 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 prximo paso. Para ello con hacer doble-click sobre el control automticamente 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 artculo de introduccin no haremos gran cosa (si queris que ampliemos el temario no tenis ms que pedirlo a travs de los comentario como suele ser habitual) y nos conformaremos con volcar la informacin que introduzcamos en otros campos del documento (se pueden realizar validaciones, clculos a partir de los datos, )

Introducir cdigo en un campo del documento


Deberemos hacer doble-click sobre el campo para abrir el formulario Propiedades del objeto y en la pestaa Accin, tras elegir el tipo de evento (en el ejemplo Se pierde el foco) pulsamos el botn Editar

En el formulario que nos aparecer incluiremos el cdigo 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)

Cdigo javaScript de ejemplo


Como hemos dicho slo 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 cdigo 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 mtodo 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 informacin 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 cdigo similar al que hemos mostrado al principio.

Conclusin
Aunque se trata de una simple introduccin 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 tecnologa 2. Despertar el gusanillo de aquellos que habis llegado hasta aqu leyendo y daros las bases para que comencis a experimentar e investigar por vuestra cuenta Cualquier problema o duda que pueda surgiros no tenis ms que indicarlo en los comentarios o a travs del formulario de soporte tcnico. Gustoso os ayudar respondiendo a vuestras dudas y/o creando un nuevo artculo profundizando en aquellos temas que os resulten de inters y/o utilidad.

You might also like