Professional Documents
Culture Documents
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)
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.
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, )
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)
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.