Proceso para generar plantillas etiquetadas y formularios

Programas usados

  • InDesign CS3/CS4. Aunque el uso de formularios no se limita a estas versiones, si es recomendable por disponer de más posibilidades.
  • Acrobat 8/9. Professional para crear formularios y generar XML, Reader para rellenarlos y corregirlos.
  • LiveCycle Designer 8/ES.

1. Crear la plantilla

Primero será necesario crear una plantilla con todos los estilos que vayamos a utilizar, ordenados lo más correctamente posible. Este orden nos ayudará a la hora de asignar las etiquetas. Debemos crear estilos anidados y estilos de carácter como en plantillas anteriores. Hasta aquí, el procedimiento es el mismo que ya usábamos.

1.1 Etiquetas XML

Las etiquetas son marcas que asignamos a cajas de imagen, de texto o a texto en sí y que nos servirán como nexo para crear formularios donde los redactores escribirán sus artículos. Las campos de los formularios que vamos a crear llevarán una conexión con esas etiquetas y cuando importemos esos formularios en InDesign esas mismas etiquetas serán las encargadas de colocar el objeto (texto, imagen…) en determinado lugar y con determinado estilo. Vamos a ver.

Una vez creada la plantilla podemos abrir la ventana de Etiquetas desde Menu/Ventana/Etiquetas. En esta ventana crearemos tantas etiquetas como elementos diferentes tengan que ser completados en la plantilla. Por ahora sólo generaremos etiquetas vacías dando al botón , a las que daremos los nombres (con doble click sobre ellas) de los diferentes elementos: Titular, Entradilla, Texto, Pie… (las etiquetas no admiten nombres con espacios, ni con números al inicio, ni caracteres problemáticos).

Hasta aquí, sólo tenemos etiquetas vacías. Vamos a asignarles elementos, en este caso cajas de texto. Sin ninguna etiqueta resaltada, seleccionamos una caja de texto, por ejemplo la de la titular y seguidamente pinchamos en la etiqueta que le corresponda (titular). Repetiremos este proceso con todos los elementos que queramos etiquetar, asegurándonos de hacerlo en el orden en el que queramos que aparezcan en el formulario o, al menos, con un orden lógico. Podemos ver en Menu/Ver/Estructura/Mostrar marcos etiquetados los elementos (cajas) del mismo color que su etiqueta.

El paso siguiente es asignar un estilo a cada una de las etiquetas, así cada una de las cajas tendrá una etiqueta asignada y cada etiqueta un estilo. Para ello accederemos a la ventana de Asignar etiquetas a estilos, situada en el menú de opciones de la ventana Etiquetas

En esta ventana podemos, haciendo click en cada uno de los lugares donde aparece [Sin asignar], seleccionar el estilo apropiado a la etiqueta de su izquierda. Completaremos esta operación con todas las etiquetas excepto con Root. Se trata de una etiqueta básica y obligatoria que aparece por defecto y que jamás borraremos y a la que no asignaremos nada.

1.2 Generar código xml

Ha llegado la hora de exportar el código como XML. En este paso, y con la plantilla guardada, borraremos todo el texto falso de las cajas etiquetadas, contando primero el número de caracteres. Entraremos en Exportar, en Menu/Archivo, seleccionaremos el tipo de archivo XML y comprobaremos que se encuentra con las siguientes opciones:

Especialmente importante es la codificación en UTF-8 (por defecto).

2. Diseñar el formulario

En este paso usaremos las etiquetas creadas para generar un formulario en PDF donde cada una de estas se transformará en un campo en la que escribirán los redactores. Todo mediante el programa de Adobe, LiveCycle Designer 8.

2.1 Adobe LiveCycle Designer

Primero configuraremos el programa para tener las ventanas adecuadas abiertas. Esto sólo tendremos que realizarlo la primera vez. Activaremos (si no lo están ya) desde Menu/Ventana las siguientes ventanas o grupos de ventanas: Editor de secuencia de comandos, Vista de datos/Jerarquía, Biblioteca y Objeto/Presentación/Borde/Accesibilidad.

Para hacer uso del XML exportado de InDesign primero crearemos un documento nuevo con las opciones por defecto. Asegurándonos que en las preferencias el tipo de archivo sea «Formulario XML (dinámico) de Acrobat 8». Luego seleccionaremos Nueva conexión de datos, desde Menu/Archivo y, seleccionando la casilla de Datos XML de muestra pincharemos en Siguiente lo que nos conducirá al siguiente paso, Seleccionar archivo de datos de muestra XML donde podremos darle la ruta (a través del botón de búsqueda  ) de nuestro fichero XML para, a continuación, pulsar Finalizar.

2.1.1 Componer el formulario

Al importar el XML, la ventana de Vista de datos (por defecto a la izquierda) muestra la estructura de las etiquetas que hemos generado en InDesign. Cada una de esas etiquetas ha de convertirse ahora en un campo rellenable de un formulario.

Para ello podemos seleccionar la opción Generar campos situada en el menú de opciones de dicha ventana , teniendo seleccionado el subformulario, lo que dará como resultado el volcado de varios objetos en el área Vista de diseño, en el centro del programa.

Podemos manipular esos campos como si fuesen cajas de imagen de InDesign. En sus esquinas y en sus medias aristas hay manijas de las que podemos tirar para hacerlos más anchos o más altos y podemos colocarlos en orden para que guarde una estructura coherente con el artículo a escribir: primero el pase, seguido del título, subtítulo, entradilla, texto, opinión y pie, en este caso. Dando más espacio a los campos que lo necesitan, quedaría así más o menos.

Una vez tenemos todos los campos editables dispuestos en el documento, activaremos una serie de opciones para darle un aspecto y un formato más «amigable».

Con todas los campos señalados, localizaremos y activaremos la casilla Permitir líneas múltiples, dentro de la pestaña Campo, la primera de la ventana Objeto, por defecto abajo a la derecha de nuestra pantalla. Con esto la línea de texto que escriba el redactor doblará automáticamente al llegar al ancho del campo y le permitirá escribir diferentes párrafos dentro de un mismo campo. En esta ventana tenemos otras opciones que nos ayudarán a orientar al redactor, como marcarle un número máximo de caracteres a escribir en un campo determinado (para esto señalaremos sólo el campo elegido y no todos).

También es conveniente formatear los campos para que el texto tenga un recorrido lógico a la hora de escribir/leer. Esto quiere decir, de arriba a abajo. Para ello, iremos al menú Ventana/Párrafo y alinearemos el texto arriba. Se puede personalizar la barra de herramientas superior para que nos aparezca por defecto el icono que ejecuta esta acción . Al igual que en otros programas podemos personalizarla a través del menú Herramientas/Personalizar, en la pestaña Comandos, seleccionando los elementos de Formato de texto, ahí encontraremos el icono que queremos incluir.

Una vez tengamos creados todos los campos que queremos que formen el formulario, tenemos otras posibilidades para dar más funciones al formulario en PDF basados en programación; tanto en lenguaje FormCalc (propio del programa) como en JavaScript. Hasta el momento tenemos desarrollados algunos scripts interesantes para lo que necesitamos. No es necesario saber programación para utilizarlos. Podemos cargar los scripts ya creados en una biblioteca de objetos y seguir las indicaciones de la ventana Editor de secuencia de comandos.

Para ello, crearemos un nuevo grupo en la ventana Biblioteca , le daremos un nombre, por ejemplo Formularios XML, y en las Propiedades de grupo que encontraremos en el menú de la derecha, le daremos la ruta  en la que se encuentren los archivos *.xfo ya creados. Así obtenemos los iconos con los objetos y los scripts que necesitemos a la hora de crear formularios.

Por ahora, según las necesidades que se nos han ido presentando, existen estos elementos en la biblioteca, aunque iremos incorporando todos los que vayamos desarrollando y que estarán disponibles en el servidor:

  • Guardar y Restablecer. Se compone de dos botones. El primero restablece el formulario, es decir, elimina todo el texto que hayamos escrito para introducir otros datos. El segundo, botón de guardar, ejecuta el menú guardar como. Ambos botones incluyen programación en Java­Script que no es necesario modificar en ningún caso.

  • Guardar dinámico. El mismo conjunto de elementos anterior, pero incluídos dentro de un subformulario para poder utilizarlo en formularios dinámicos.

  • Caracteres restantes. Con este grupo de elementos incluimos un botón de recuento de caracteres. Se compone de un botón de cálculo, una caja de texto en la que aparecerán los caracteres que faltan para cubrir el máximo permitido y una caja invisible que inhabilita la posibilidad de enviar el formulario si se sobrepasa esa cantidad y ejecuta un mensaje de alerta. Tanto la caja invisible como el campo de texto tienen su propio script, aunque sólo tendremos que editar el del campo de texto según las indicaciones en verde de la ventana de Editor de secuencia de comandos.

  • Texto Fijo. Campo de texto que incluye un script que se ejecuta al guardar. Con este script podemos incluir caracteres fijos que aparecerán en el archivo XML final sin necesidad de escribirlos al rellenar los campos. Muy cómodo para añadir el símbolo de euro en una campo en el que haya que incluir un precio, o para meter un texto fijo al comienzo de un texto, etc. Al ejecutarse el script al guardar, este texto fijo se repetirá tantas veces como clicks demos en el botón Guardar. Esto se puede solucionar mezclando este script con el siguiente. Incluiremos un campo de texto que no tenga conexión con el XML de InDesign (donde el redactor escribirá el contenido) y un segundo campo de texto (invisible) donde, mediante estos scripts incluiremos el texto del campo anterior con el texto fijo que necesitemos. Al realizar esta acción cada vez que guardemos, se actualizará el contenido de este segundo campo que tendrá la conexión con el XML.

  • Texto repetido. Campo de texto que incluye un script que se ejecuta al guardar. Con este script repetiremos el contenido de otro campo de texto dentro de éste. Para ello cada Campo de Texto debe tener una etiqueta diferente con su conexión de datos al XML salido de InDesign. Útil si queremos repetir, por ejemplo, el nombre y modelo de un coche o una moto en diferentes lugares de una maqueta. Bastará con que el redactor lo escriba una vez. El campo de texto donde está incluido el script podemos ponerlo invisible, para no confundir al redactor.

  • Unir campos. Campo de texto que incluye un script que se ejecuta al guardar. Con esta función, podemos unir en un mismo campo de salida, dos o más campos de entrada de datos separados por el caracter que queramos. Válido para incluir en una misma caja de texto de InDesign varios campos independientes del formulario. Por ejemplo, unir en una misma caja de texto campos como Potencia, Velocidad y Precio, separados por un cuadratín.

  • Unir campos con retornos. Campo de texto que incluye un script que se ejecuta al guardar. Basado en el anterior elemento de la biblioteca, le añadimos la posibilidad de separar cada campo de entrada de datos por retornos, además de poder insertar los caracteres fijos que queramos. En este caso, según vemos en la ventana de Editor de secuencia de comandos, el código que hace referencia al retorno es «\u000d».

  • Botonera F. Dinámico. Se compone de un subformulario que contiene un texto informativo y una botonera para mostrar u ocultar las diferentes partes de un formulario. Esta botonera es un grupo de exclusión, es decir, la selección de uno de los botones excluye al resto. Todos estos botones incluyen su propio script que muestra u oculta los diferentes subformularios que hayamos creado para agrupar las distintas partes del formulario. Si usamos este elemento de la biblioteca, habría que incluir el otro elemento «Guardar dinámico».

  • Verificación. Casilla de verificación que muestra u oculta un subformulario de los que se compone el formulario. Dispone de una casilla que, al activarla muestra el subformulario al que hace referencia y que al desactivarla, lo oculta. Esta función es diferente a la del elemento anterior de la biblioteca, ya que permite la activación/desactivación de elementos independientes. Se pueden combinar los dos elementos, dando esta función de casilla de verificación a la botonera anterior.

Cuando ya tengamos el diseño definitivo del formulario, con todas las funciones y elementos necesarios, nos quedaría un punto opcional para facilitar el volcado de datos dentro del formulario. Para dar un orden de lectura lógico y automático al formulario, tenemos la opción de establecer el orden de tabulación del documento. Esto quiere decir que, al pasar de un campo a otro del formulario mediante la tecla de tabulación, el cursor vaya pasando de un campo a otro en el orden lógico de lectura. Para ello, con todos los subformularios visibles, seleccionaríamos la opción Orden de tabulación dentro del menú Ver. Con la tecla mayúsculas pulsada, haremos click sobre el primer elemento del orden que queramos establecer y a continuación, uno por uno, el resto de elementos. Una vez terminada la asignación del número de orden, volveríamos a seleccionar la opción Orden de tabulación del menú Ver, para aceptar los cambios.

ordentabulacionsin

2.1.2 Publicar el formulario

Hemos acabado de diseñar el formulario. Podemos ver cómo quedaría el resultado en la pestaña de Vista previa de PDF, donde veremos que nos permite hacer pruebas con texto. Ahora lo que hemos de hacer es guardar todo esto para crear un PDF en el que los redactores escriban el artículo concreto en base a la plantilla de InDesign que tenemos. Simplemente guardaremos el fichero como PDF y lo usaremos como plantilla de texto. Esto sustituye al fichero de Word que los redactores usaban hasta ahora. Con este fichero deberemos guardar como plantilla el archivo XML que exportamos de InDesign y que hemos utilizado para establecer la conexión de datos. Con estos dos archivos podremos, más tarde, hacer cualquier modificación al formulario desde Designer.

2.2 Adobe Acrobat 8

Una vez tengamos el Formulario en PDF listo, necesitamos cubrir un paso más para facilitar la tarea del redactor. Ya que, por motivos de licencias, no todos los redactores dispondrán de la versión profesional del programa, tenemos que preparar el formulario para que, al abrirlo en la versión Reader dispongamos de las mismas funciones que tendríamos con la profesional. Para ello, abrimos el PDF que hemos creado en Designer con Acrobat Professional 8 y elegiremos Distribuir Formulario en Menu/Formularios. Aquí elegiremos la opción Guardar y Enviar más adelante. Si hemos incluido un botón para enviar por correo electrónico, habrá que incluir una dirección de correo válida que sustituirá a la que hayamos configurado desde Designer. Si no la hemos incluido (formulario habitual), nos saldrá un mensaje alertándonos de su omisión pero, aceptando este mensaje podremos seguir con el proceso. En los siguientes pasos nos pedirá la ruta en la que guardar el archivo que vamos a distribuir y en el que recogeremos los datos (útil para catálogos). Con esto obtendremos tres archivos: el original, que podemos guardar por si hay que hacer alguna modificación de origen, junto con el XML inicial; un PDF con terminación «pub_0001.pdf», que será el que deberá rellenar el redactor y un PDF con terminación «conjunto de datos_0001.pdf», donde recopilaremos la información. Si el formulario no es parte de un catálogo, éste último archivo podemos eliminarlo.

A la hora de rellenar el formulario en pdf, el redactor puede usar tanto el Acrobat Professional como el Reader (que es gratuito), siempre en la versión 8 y deberá ceñirse lo máximo posible al número de caracteres con que se ha diseñado tanto el documento de InDesign como el Formulario. Cuando termine le dará al botón de Guardar (Guardar como) y prodecerá a guardarlo en el servidor de revistas, como fichero pdf con un nombre lógico, o en su propio disco duro para luego enviarlo por correo o copiarlo en su ruta dentro del servidor.

3. Obtener un xml

A la hora de recoger el fichero pdf que ha escrito el redactor, el maquetador ha de realizar un paso previo a su uso en InDesign. Convertirlo en XML. Para ello simplemente abriremos ese pdf en Adobe Acrobat Professional 8 (ya que el Reader no nos vale) y seleccionaremos Exportar datos, en Menu/Formularios/Administrar datos de formulario, donde ya nos permite, con el mismo nombre que tenía como pdf, guardarlo como XML. Nos olvidaremos a partir de aquí del formulario/fichero PDF que ha rellenado el redactor. Para crear archivos XML de más de un formulario, abriremos el archivo «conjunto de datos» e importaremos ahí todos los PDF’s que necesitemos y con éste crearemos el archivo XML, teniendo en cuenta que el orden de colocación dentro de este XML será el alfabético por nombre de fichero.

3.1 Importación del xml y maquetación

Sobre la plantilla etiquetada que habremos guardado de InDesign (preferentemente limpia de texto falso) seleccionaremos Importar XML, en Menu/Archivo. Buscaremos el fichero que hemos exportado en el punto 3 (el XML) y, con las opciones que aparecen por defecto le seleccionamos. Si no nos hemos equivocado en ninguno de los anteriores pasos, el texto se volcará automáticamente y recibirá el formato propio de cada caja. Veremos sin embargo cómo tendremos que dar formato a ladillos, capitulares y otros elementos de formato intercalado entre el texto.

A parte de las opciones por defecto que vienen asignadas al importar un archivo XML en InDesign podemos necesitar activar alguna más. Por ejemplo, si en InDesign tenemos uno o varios textos etiquetados dentro de una misma caja de texto, tendremos que activar la opción «No importar contenido sólo con espacio en blanco», esto hará que mantengamos los textos fijos dentro de esas cajas y los indicadores de etiquetas del texto que vayamos a importar. Por otro lado, si en la plantilla de InDesign que tenemos, hemos modificado algún campo eliminándolo, activaremos «Sólo importar elementos que coincidan con la estructura existente» para eliminar los textos residuales que se hayan podido incluir en el formulario y que no nos sean útiles en la maqueta.

Cuando hayamos recopilado varios formularios en un sólo archivo XML debemos tener en cuenta que Acrobat incluye una etiqueta raiz adicional en un nivel superior con el nombre Data. Esta misma estructura habrá que incluirla en la plantilla de InDesign.


80 respuestas to “Proceso para generar plantillas etiquetadas y formularios”

  1. Ole y ole esta página…!
    Muchas gracias por toda la información que dais. Os explicais de arte!
    Enhorabuena a todos!
    🙂

  2. Gracias, iremos ampliando la información.

    • Hola dmartinr quería ver si me podías ayudar necesito hacer un PDF con el livecycle que traiga un registro de una tabla al hacer el dataconecion ya lo hace pero trae los datos del primer registro de la tabla y yo necesito que ingresen en el pdf el registro a mostrar…

  3. Muy bueno el post. Pero me surgió una duda. El archivo xml que creas en la conexión de datos enlaza cada etiqueta con un campo del formulario, de modo estático. ¿Pero que pasa si tienes un formulario dinámico con una tabla a la que le puedes añadir filas? Me explico. Tienes un xml con esta estructura

    Los datos de tu formulario corerspondientes a la primera fila de la tabla, estarían asociados a estas etiquetas, ¿pero que pasa si le agregas dinámicamente una nueva fila? ¿Los datos de esta nueva fila se asocian a las mismas etiquetas? ¿Deberías de crear otras etiquetas correspondientes a esta nuva fila?

    Gracias y enhorabuena por la pagina

  4. Hola Danii. Esta pregunta merece un post explicando esta posibilidad. En tu comentario falta la estructura, pero si me mandas un mail a la dirección que tienes en la sección de ayuda (etiquetaxml@gmail.com), en cuanto pueda escribo esa entrada con la información que necesitas. Ahora mismo, me estoy actualizando a la versión Enterprise Suite de Designer y tengo algún problemilla, pero en cuanto lo solucione tendrás tu respuesta. un saludo y gracias por participar.

  5. Gracias por esta catedra, en horabueno, me ha servido de mucho

  6. Me gustaria saber, que finalidad tiene todo este proceso exactamente y para que me puede servir con algun ejemplo, alguien me puede ayudar?

    • Nosotros lo utilizamos en la maquetación de revistas. Con una plantilla más o menos fija de InDesign, hacemos un formulario con todos los campos de texto con las extensiones necesarias para rellenar la maqueta. Una vez completado el formulario, se importa el archivo xml en InDesign y cada texto se coloca en su lugar dentro de la maqueta con su hoja de estilo aplicada. Con esto nos ahorramos tiempo de copiar-pegar textos, no se olvidan campos necesarios en la maqueta y el texto está adaptado al espacio que se tiene en InDesign. Si has probado o sabes para qué sirve InCopy, esto resultaría una solución barata de hacer algo parecido. Si tienes cualquier otra duda etiquetaxml@gmail.com. Saludos.

  7. Gracias dmartinr,
    Es que me estoy pasando del freehand al Indesing, y voy un poco perdido en algunos conceptos del indesing. Entonces, se crea una plantilla de diseño con campos de texto e imagenes autoeditables, luego esto se guarda en un archivo xml (que realmente no se para que), y luego tengo que realizar una plantilla con el Adobe LiveCycle Designer, esa plantilla la guardo en pdf, que es lo que tienen que rellenar los distintos periodista (con sus artículos). luego ese pdf, el indesing puede leer y colocar cada campo en su lugar, con un tipo de letra, tamaño, y efecto que le corresponde y esta en la plantilla del freehand. Perdonad pero.., es que no lo veo… realmente se ahorra mucho tiempo? si hay varios artículos como se ordenan?
    Un saludo.

    • Lo mejor es que empieces a probar y veas para qué te puede servir y qué dudas tienes. ¿Ahorrar tiempo? El trabajo de etiquetar las maquetas de InDesign y hacer los formularios es bastante laborioso (con la práctica, menos), pero si es una maqueta que vas a usar durante bastante tiempo, merece la pena. Para algo que vas a usar una sola vez, mejor no perder el tiempo.

  8. OK dmartinr,

    Ya he hecho una prueba, y me ha costado (y eso que es muy simple), pero bien ya se para que puede servir mas o menos, pero tengo una duda se pueden importar varios xml en el indsing?, quiero decir suponiendo que tenengas varios redactores, y un periodico, yo le puedo decir que importe el xml de cada redactor.. noo? supongo que si…
    Un saludo

  9. Para importar varios xml en InDesign deberás etiquetar cada parte dentro un un root diferente. El root inicial puede contener otros root (tendrás que ponerles otro nombre-etiqueta). Y a la hora de importar los xml tendrás que seleccionar el root apropiado en cada caso. Otra opción sería crear un único formulario para varios redactores. Con un formulario dinámico (más complicado, pero si buscas en el blog encontrarás la forma de hacerlo) en el que dependiendo de quien lo escriba, puede elegir una parte del formulario u otra. Aunque sea un sólo archivo, si cada redactor rellena una copia diferente del formulario, dejando en blanco lo que no le corresponda, obtendrás dos o más archivos xml; podrás importar de uno en uno estos archivos y, creo que con la opción anexar contenido, se colocará cada xml en su sitio.

  10. Claro… perfecto… joe eres una máquina dmartinr, bueno te voy a hacer una pregunta y tu me dices si crees que vale la pena: cada años hago dos catalogos con referencias y fotos (unas 300 ref cada una con su foto y colección (imaginatees un muestrario de ropa, por colección y temporada), tu cres que vale la pena realizar esto aquí del formulario o será un lio?. Sabes si se pueden exportar datos del excel en vez del xml? y que funcione igual?… por cierto si te estoy dando mucho la vara… tu con tiempo… he… de todas formas muchas gracias.

  11. Nosotros lo usamos para varios catálogos. Si se compone de módulos (uno por página, dos por página, ocho por página). Hacemos un único formulario por tamaño de módulo, luego recopilamos formularios en Acrobat Pro y puedes importar el xml por bloques (2, 8… 20 páginas a la vez). Si quieres más información, escribe a la dirección que te he dado en la primera respuesta y te contestaré con tiempo. Ahora estoy cerrando dos revistas y voy un poco mal.

  12. ok

  13. Muy interesante.

  14. Gracias.
    Muy interesante.

    Se encuentra poca información de este tema.

  15. Hola otra vez te pregunte hace tiempo como hacer que la informacion de un campo se pusiese en otro automaticamnete y me vino muy bien lo de concat= pero hay alguna posibilidad de que pueda tambien hacerse a la inversa es decir que de igual en cual de los dos metas la informacion
    Gracias Crack

  16. La solución más rápida sería repetir el script en el otro campo. Si el campo 1 tiene el script «Campo1=Concat(Campo2)» en el campo 2 tendrás que poner «Campo2=Concat(Campo1)», ambos en calculate.

  17. una vez que en el campo pones el scropt ya no te deja meter datos en ese campo ya que pone los datos del campo de origen por lo que si pones el scrip en los dos no puedes poner nada en ninguno muchas gracias de todas formas se agradece ayuda enestoi y tan rápida a falta de informacion sobre llivecycle sera cuestion de probar y probar
    un saludo, estoy con un formulario dinamico y algun dia si tienes un rato mne gustaria mandartelo para que lo mires y me des ideas de mejoras perto sin agobios que bastante haces

    • Una vez hayas puesto el script en los dos campos, te los bloquea como sólo lectura. Para poder escribir en ellos tienes que ir a la ventana de objeto y en la pestaña «Valor» poner el tipo «Usuario especificado-opcional». Así te dejará escribir en cualquiera de los dos campos y que se repita el contenido en el otro.
      Puedes mandarme lo que quieras a etiquetaxml@gmail.com
      Un saludo

  18. Hola otra vez una última cosita, gracias por todo de verdad por tu rapidez y claridad eres un fenomeno, quiero que el formulario que creo una vez rellenado tenga un boton o algo que bloquee parte de los campos que una vez rellenados no se puedan modificar y cuando se envie se rellene sólo el resto del formulario si que se pueda modificar lo anterior, he mirado y solo lo veo con firmas digitales pero no quiero que sea sí quiero que sea un boton o algo parecido

    gracias por adelantado

  19. He encontrado esto en el libro «Creating dynamic forms with adobe livecycle designer». No sé si te servirá:

    Disabling All Form Fields
    You can disable all form fields at runtime by using the following script:

    //loop through all pages

    for (var i = 0; i < xfa.host.numPages; i++)

    {

    var oFields = xfa.layout.pageContent(i, "field");

    var nodesLenght = oFields.lenght;

    //Set the access type to be protected for all fields

    for (var j = 0; j < nodesLenght; j++)

    {

    var oItem = oFields.item(j);

    oItem.access = "protected";

    }

    }

  20. lo siento pero no entiendo esto último como lo pongo que es lo que hace, es un boton?

    gracias por tu ayuda, te mereces un novel

  21. se que pido demasiado pero lo que quiero es que alguien rellene parte de un formulario y cuando pase al suiente éste solo pueda rellenar el resto del formulario sin poder modificar lo anterior, ademas que se haga esto mediante un boton o algo así
    gracias

  22. Desconocía esta posibiidad, la de utilizar Acrobat para generar archivos XML para alimentar InDesign.
    Y esto es muy sugestivo…
    Voy a probarlo!

  23. Cuando diseño un texto y le pongo que permita líneas múltiples, el resultado para cuando se rellena el formulario es óptimo. PERO a la hora de imprimir ¿cómo puedo hacer para que se visualice todo el escrito y no aparezcan los símbolos ‘+’ ?

    Muchas gracias

    • Tienes la opción de marcar la casilla en la ventana «presentación» de «expandir para ajustar» la altura. Esto te hace la caja tan grande como el texto de su interior. El resultado es el que buscas, aunque se te descolocará todo el formulario. Para solucionarlo, puedes hacer subformularios.

  24. Muchas gracias dmartinr, lo he solucionado creando subformularios Contenido de posición variable, flujo de arriba a bajo yPermitiendo saltos de págian. Pero no me funcionó hasta que lo guardé en formato dinámico xml (gran error). También he detectado que existe algún número máximo de objetos por subformulario que hace que vayas creando nuevos subformularios (sinó da error). Escribo ésto por si es de utilidad a otros usuarios. Reitero las gracias. Yuste

    • Estoy intentando hacer eso mismo que habías solucionado con subformularios pero no lo consigo, ¿podrías indicarme los pasos?

  25. Hola una pregunta por si alguien me puede ayudar quer toi un poco perdiad pero mke voy poniendo al día, como puedo hacer que en un campo me calcule la edad en base a la fecha de nacimiento que he puesto en otro campo
    Gracias

  26. No encuentro ningun enlance de Acrobat 8 que funcione!!!
    Alguien me puede sugerir alguno??
    Gracias!

  27. Me refiero para descargarmelo!!

  28. Teniendo hecha una plantilla de un catalogo en Indesign, cuanto costaria (€) hacer un formulario con todos los campos de texto con las extensiones necesarias para rellenar la maqueta e importar el archivo xml en InDesign??
    Vamos lo que quiero es que cuando se cambien las imagenes y los textos en el formulario se cambien directamente en INDESIGN.

    Muchas gracias!

    • Si lo que quieres saber es cuánto puedes cobrar por hacer ese trabajo, no te puedo ayudar, tú eres la que tiene que valorar tu trabajo, el tiempo que te va a llevar y la dificultad.
      Si lo que buscas es a alguien a quien encargarle el trabajo, tampoco te puedo ayudar. Sólo hago formularios para una editorial. A lo mejor alguno de los lectores del blog te pueda ayudar. Si estás muy interesada, puedes mandarme un mail con lo que buscas y lo publicaré en una entrada. Puedes escribir a etiquetaxml@gmail.com

  29. hola, seria posible en el formulario con livecycle un campo de imagen que en vez de pedir la imagen de un archivo lo pidda del escaner??

    gracias

  30. Hola,
    Muy buen tuto, estoy usando el Live cycle para sustituir un fromualario en excel con basic, apenas estoy empezando con esto del formualrio dinamicos desde adobe no se si tengan alguna infoa pra saber como generar un subfomualario para alimentar datos de unas listas desplegable y un check box.

    Gracias

  31. Que tal.
    He realizado un formulario con LiveCicle con conexion bbs por odbc.
    Funciona perfectamente en mi ordenador: combina los datos de la bbs con los del formulario sin problemas. Al ejecutar el pdf lo abre con el acrobat professional. Todo bien.
    El problema viene cuando lo intento ejecutar desde otro equipo que sólo tenga un reader (x por ejemplo), que no combina el pdf con los datos de la bbs.
    He repasado la configuración de ambos ordenadores para que sean iguales en cuanto a las fuentes, odbc, versiones de varios productos..
    El caso es que se abre el formulario en blanco.
    Alguien puede decirme como guardar el formulario desde liveCicle para que pueda abrirlo un reader en formato combinado????.
    Gracias.

    • Prueba a, desde Adobe Acrobat Pro a seleccionar el menú «Avanzadas» y la opción «Funciones Ampliadas en Adobe Reader», esto habilitará una serie de funciones al formulario de las que no dispone un pdf normal.

  32. Desde Adobe Acrobat Pro no puedo hacer nada ya que al abrirlo con este se produce la carga de datos de la base de datos, es decir, se combina documento y base de datos.
    Para hacer algo tiene que ser desde el LiveCycle.
    Recuerdo que se trata de un documento tipo «formulario xml (dinámico) de Acrobat 8.
    ¿Como puedo abrirlo con un reader 8, 9, x…?

  33. Hola otra vez.
    Repasando el tutorial y dando vueltas a varias páginas de consulta, creo que tengo que aclarar que en todas ellas los formularios que se crean son para introducir datos y que estos se guarden y puedan ser enviados posteriormene por mail…por ejemplo.
    Mi caso es diferente, se trata de un formulario que recoge la información de una base de datos en cuanto se abre, es decir, documento pdf con campos y líneas que están vinculados a una base de datos. Al abrir el documento debe traer todos los registros de la base de datos y visualizar tantas hojas pdf como registros tenga.
    Esto lo hace perfectamente desde Acrobat professional y desde LiveCycle pero al hacerlo desde acrobat reader se queda en blanco, como si no encontrara una fuente de datos.
    Espero haber aclarado algo más el problema.
    Gracias.

    • Adobe Reader es solo un visor de pdf’s. Por lo que si no se habilitan las funciones extendidas no podrás hacer otra cosa. Estas funciones se habilitan de dos formas. La primera, tal como ya dije en el anterior mensaje es mediante el menú «avanzadas» de Acrobat Pro. La segunda forma es «distribuyendo» el formulario. Esto se puede hacer desde Acrobat Pro o desde Livecycle. En Livecycle, ve al menú «archivo» y selecciona «Distribuir formulario». El único problema que veo es que te abre el archivo en Acrobat Pro para realizar la acción. Si así no te funciona, prueba a distribuirlo desde un ordenador con Acrobat Pro, pero que no disponga de esa base de datos. Si me lo envías puedo probar.

  34. Pásame tu mail.

  35. que tal, alguien me podria decir porfa como es el codigo para hacer que un texto aparezca en vertical, mas bien que cambie de orientacion..

    No e podido hacer que gire de sentido..

    • Hola, no tienes que meter ningún tipo de código. Basta con que selecciones el objeto que quieres poner en vertical, abrir la ventana «Presentación» y en «Ancla», seleccionar el botón de «Girar 90º».

  36. Buenas noches, despues de la primera leccion que me diste que fue magistral, me gustaria saber si hay alguna manera de que cada formulario que crees de cero ocupe poco espacio, cada uno que hago minimo es de un 1 mega y eso que las imagenes que pongo son de muy poquitos kbs, hay alguna opcion???

    Gracias y eres un crack

  37. Buenas noches, crack… hay alguna manera normal que haga que los formularios que creamos ocupen poco, pq cada uno que hago minimo son de 1 mega y eso que las imagenes que pongo si las pongo son de muy poquitos kbs, no encuentro la manera.

    Un saludo y gracias.

    • Buenas noches. Desde Acrobat, en el menu Documento tienes una opción para reducir el tamaño del archivo, pero principalmente lo que te hace es reducir el peso de las imágenes. Nunca lo he probado con un formulario, pero en pdfs con fotos en alta funciona bastante bien. Prueba y me dices si lo reduce a tu gusto, sino buscamos otra forma.

      • Buenas noches, tengo el Acrobat X y la opcion que comentas creo que es la de guardar como en pdf reducido y al darlo me pone que al ser un formulario Adobe Xml no deja optimizarse….

        Con lo que no puedo…

      • La única opción que he encontrado es reducir el tamaño de las imágenes al máximo. O hacer el formulario con tipografías universales y configurarlo para que no incruste las fuentes en el pdf.

  38. Buenas tardes… Tipografias universales??? todos los documentos los hago con Cailbri si es eso lo que te refieres, y lo de las fuentes en el pdf?? no se como se hace o que quieres decir con ello… si puedes me lo comentas, de todos modos te comento que las imagenes como mucho pesan 20 kbs y ya te digo el archivo pesa lo que pesa gracias…

    • Con tipografías universales me refiero a fuentes del sistema operativo que estén en cualquier ordenador como Arial o Times. Y en preferencias del pdf en Livecycle desactivar la opción de incrustar fuentes. Ahora mismo no sé exactamente en qué pestaña, pero mañana lo miro cuando tenga un pc delante.

  39. Te comento que he encontrado la opcion que dices y como bien dices se ha reducido el archivo muchisimo en tamaño y forma, la verdad que no se que pasa con esa opcion quitada o que pasa lo sabes tu??? tambien una manera de reducir el tema es en herramientas cambiar el formulario a pdf estatico en vez de xml, pero como antes tampoco se las diferencias. La opcion que decias esta en Archivo. Propiedades de formulario y opciones de guardado…

    Gracias.

    • La opción de las fuentes te sirve para que si tu diseñas el formulario con una tipografía que te gusta, pero que la persona que va a rellenarlo no la tiene instalada en el ordenador, lo pueda ver tal y como lo ves tu en tu pc. Si no incrustas las fuentes y la persona que lo rellena no la tiene, se le sustituirá por la que tenga por defecto (normalmente Arial).
      En cuanto a la opción de formulario dinámico o estático, en cuanto le metas un script o función algo complicada, tendrás que guardarlo como dinámico o no funcionará.

  40. Buenas tardes como ves soy el unico pesado que tienes ultimamente investigando todo esto, no creo pero es que aprendo tanto que estoy emocionado con seguir queriendo aprender, no se si habeis planteado alguna vez hacer una tabla como si fuera de almacen por decirlo de alguna manera y que a la hora de poner un articulo salga el coste y solo tu tienes que poner la cantidad y que vaya sumando, me imagino que con listas desplegables se podria hacer pero lo que pretendo es que al elegir el producto directamente me salga el precio al que yo le tenga definido…

    Gracias.

    • Buenas tardes. Creo que no es complicado hacerlo. Tengo algún ejemplo de algo parecido que hice hace tiempo. El problema es que hasta dentro de quince días no tendré mi pc a mano (estoy de vacaciones). Si ves que no te contesto, recuérdamelo. Un saludo.

      • Buenas tardes soy el pesado… ya volviste de Vacaciones??? es por si puedes retomar lo que te comente en el mensaje anterior.

        Gracias y un saludo

      • Mañana te mando un ejemplo de algo parecido.

      • Ya te he enviado un ejemplo por correo. Si alguien más está interesado, prometo escribir una entrada sobre este tema cuando esté más desocupado.

  41. Hola:

    He estado viendo tu blog y me parece muy interesante. Por este motivo me he animado a mandarte una duda que tengo con un diseño de un formulario en Livecycle:

    Como te digo, tengo un formulario diseñado con LiveCycle que tiene 4 hojas. Cada hoja tiene 3 campos que son iguales (un campo de texto, otro de fecha y otro una lista desplegable). Quiero que cuando cubro el campo texto en una de las hojas, se cubra en las restantes y así con los otros dos campos pero no consigo hacerlo. Creo que hay que hacerlo mediante Formcalc.

    • Prueba en «calculate»:

      CampoTexto2=Concat(CampoTexto1)

      En Formcalc en calculate, donde CampoTexto2 es el nombre del campo de texto donde quieres que se repita el texto del CampoTexto1.

      • Hola:

        Probaré. Muchas gracias por anticipado. Ya te contaré si funciona.

        Un saludo.

      • No funciona. Bueno, para ser exactos no hace nada. He seguido tus pasos.

        No se porque ocurre esto.

      • Mandame el documento a etiquetaxml@gmail.com y lo miro.

      • No puedo enviarte el formulario ya que es un documento interno de la empresa donde trabajo. Lo siento.

      • Prueba a seguir las indicaciones con un documento nuevo. Si funciona, mira dónde está el error en tu documento. Si no funciona el documento nuevo, algo se te ha pasado en algún paso. No sé de qué otra forma puedo ayudarte. También puedes mandarme un documento de un ejemplo de lo que quieres hacer, pero que no contenga ningún dato privado de tu empresa.

    • Por cierto, ¿sabes de algún manual, guía práctica o alguna web donde te expliquen formcalc?

    • asegurate en jerarquia que tofos los campos se llaman igual y en conexion cambias «normal» a Global de esa manera lo que pongan en un campo se repetira en todos aquellos que se llamenn igual
      suerte

  42. Muchas gracias por el tutorial pero no consigo que me salga ningún dato en el documento de indisign. He hecho todos los pasos excepto el de crear el XML que lo he hecho por mi parte.

    He puesto con el mismo nombre las etiquetas, los estilos, las etiquetas del XML y cuando le doy a importar XML se quedan las cajas de texto vacias, estoy desesperado!!! me puedes echar una mano?
    La estructura del XML es mas o menos asi

    Juan Luna C/Mayor,1 902123123
    Un saludo y gracias

    • Si no te funciona, debe ser porque no has creado la conexión de datos entre inDesign y el formulario. Exporta el inDesign como xml y con ese archivo que has obtenido, crea la conexión de datos con el formulario en Livecycle. Sigue los paso del blog en la primera entrada. Un saludo.

  43. Hola, me gustaría saber cómo podría poner un botón para que los usuarios puedan adjuntar archivos (pdf, jpg, doc,…) a mi formulario.

    Un saludo y gracias

  44. Hola, tengo una dificultad que espero me puedan ayudar. Estoy combinando datos de excel con Indesign y me apraece un aviso de campos vacíos. Cómo puedo solucionarlo? Gracias por la colaboración que puedan prestarme

  45. Wow that was odd. I just wrote an extremely long comment but after I clicked submit my comment didn’t show up. Grrrr well I’m not writing all that over again. Anyway, just wanted to say superb blog! cfadbbkeabge

  46. Buenos días, he generado un formulario; el cual tiene asociado un XML para asociar campos del formulario a tag del xml. Desde una aplicacion .net se selecciona el cuestionario y un tipo de xml; generandose un pdf final con todo el cuestionario. Mi problema es que el usuario no tiene adobe acrobat y por lo tanto al pdf final generado no se puede añadir en el guadar como las opciones avanzadas para reader.

    Tengo alguna opción desde el Live Cycle de poder hacer que el pdf final generado se pueda rellenar con el adobe reader. Ahora me sale el mensaje que no se puede guardar y que se genera una copia en blanco para que la imprima.

    Muchisimas gracias por la atención prestada.
    Vicent

    P.D. si quieres te puedo adjuntar tanto el fichero pdf, como el XML asociado, como un ejemplo de un pdf final

    • Para poder guardar un formulario con los campos rellenos tiene que tener activadas las funciones ampliadas para reader. Esto se puede hacer directamente desde Acrobat, activando esas funciones o distribuyendo ese formulario también desde Acrobat. Supongo que el problema es que el usuario elige el tipo de formulario que quiere de una lista y se genera solo. Y este pdf no tiene activadas esas funciones. Me imagino que esos formularios deben estar previamente hechos en LiveCycle y subidos a un contenedor. Prueba a que esos formularios estén ya distribuidos. No sé si con esto te soluciono algo. Cualquier cosa, me puedes enviar los archivos a etiquetaxml@gmail.com

Replica a Chissco Cancelar la respuesta