El formulario PDF es un tipo de formulario electrónico que es diferente a Lotus Forms. Puede ser un archivo binario estático sin campos interactivos o un formulario XML Forms Architecture (XFA) incrustado en XML. Lotus Forms Conversion Tool 3.0 es un complemento para Lotus Forms Designer que puede convertir formularios PDF en Lotus Forms 3.0 automáticamente. Soporta archivos PDF estáticos y formulario XFA dinámicos. También incluye una cantidad de reglas y optimizadores que se pueden aplicar al proceso de conversión. Luego de la conversión automática, se necesita el complemento para actualizar manualmente los formularios convertidos para la capa de presentación, las instancias de XForms y la lógica de negocios.
Este artículo ofrece una breve descripción del proyecto de migración PDF, con una descripción detallada de la herramienta de conversión Lotus Forms 3.0. También incluye una lista detallada del esfuerzo manual y los requisitos, la cual es una lista importante del dimensionamiento y la estimación del proyecto. Debe familiarizarse con el producto IBM Lotus Forms. Los usuarios de IBM Lotus Forms pueden obtener y compartir experiencia en el proyecto con el proyecto de servicio de formularios.
Introducción a los formularios PDF
PDF significa Portable Document Format (Formato de Documento Portátil), un formato de archivo desarrollado por Adobe® Systems Inc. PDF captura información de formato de una variedad de aplicaciones de edición computarizada, lo que hace posible enviar documentos con formato y visualizarlos en el monitor o la impresora del destinatario como fueron creados. Para ver un archivo PDF se necesita Adobe Reader; para crear o modificar un archivo PDF se necesita Adobe Acrobat Professional o Adobe Acrobat Designer.
El formulario PDF se puede categorizar en dos tipos: el formulario PDF estático y el formulario PDF interactivo. El formulario PDF estático es un documento PDF tradicional sin elementos interactivos. El formulario está compuesto por elementos como texto, puntos, líneas y gráficos. El archivo se almacena en formato binario.
El otro tipo de formulario PDF es el formulario PDF interactivo. En la especificación PDF hay dos tipos de formularios interactivos:
- AcroForm. Este formulario, introducido en PDF Specification 1.2, es una colección de campos para recopilar información del usuario de manera interactiva. El contenido y las propiedades de un formulario interactivo están definidos por un diccionario de formulario interactivo que es referenciado desde la entrada AcroForm en el catálogo de documentos en el archivo PDF.
- XML Forms Architecture (XFA). XFA brinda gramática basada en plantillas y
un conjunto de reglas de procesamiento que permiten a los usuarios crear
formularios interactivos. La gramática basada en plantillas define campos en los
cuales un usuario coloca información. La naturaleza abierta de XFA brinda una
gramática XML común para describir formularios interactivos, lo cual es una base
común para las interacciones relacionadas con los formularios entre aplicaciones
de procesamiento de formularios. Esta naturaleza abierta significa que XFA se
aplica a una gran variedad de negocios. XML Forms ofrece una amplia gama de funciones:
- Flujo de trabajo. Este tipo de formulario incluye presentación de datos, captura de datos y edición de datos. XFA funciona como aplicación front-end para enviar datos a un servidor back-end, también se puede utilizar con fines de impresión.
- Interacciones dinámicas. Las funciones dinámicas varían de formularios interactivos editados por humanos con cálculos dinámicos, validaciones y otros eventos a formularios generados y completados por la máquina.
- Disposición dinámica. Los formularios se pueden reorganizar a sí mismos automáticamente para contener los datos suministrados por un usuario o por una fuente de datos externa, como por ejemplo un servidor de base de datos. Por ejemplo, si los datos recuperados del servidor tienen 100 filas, el formulario muestra 100 filas.
- Complejidad. Esta función incluye formularios estadísticos de página individual, montajes de documentos dinámicos basados en el contenido de los datos y enormes ejecuciones de producción que contienen cientos de miles de operaciones.
XFA, un tipo de formulario interactivo, es un tipo más avanzado que AcroForm de las siguientes maneras:
- XFA se puede utilizar en flujos de trabajo basados en XML.
- XFA separa los datos de la plantilla XFA, lo que ofrece mayor flexibilidad en la estructura de los datos soportados y permite que los datos se empaqueten de manera individual al formulario.
- XFA puede especificar formularios que crecen dinámicamente.
- XFA puede identificar interacciones Web, como por ejemplo HTTP y Lenguaje de Descripción de servicios web (WSDL). Dichas interacciones se pueden utilizar para enviar datos a un servidor o para solicitar que un servidor realice un cálculo y devuelva el resultado.
- XFA funciona con otras gramáticas XML.
Según esta información, XFA es muy similar a Lotus Forms en naturaleza. La Tabla 1 muestra una comparación detallada.
Tabla 1. Comparación de Lotus Forms y XFA
| Lista de funciones | Lotus Forms | XFA |
|---|---|---|
| Elementos | Elementos, opciones de Lenguaje Ampliable de Descripción de Formularios (XFDL), y elementos, opciones de XForms | Elementos y opciones de XFA |
| Dinámicos | Repetición XForms | Subformulario y conjunto de subformulario |
| Prueba de validación | Null, tipo de datos, patrón de datos y prueba de expresión regular | Null, tipo de datos, formato y prueba de script |
| Scripts | Cálculo XForms y cálculo XFDL | JavaScript™ |
| Instancia de datos | Instancia de datos XML o instancia de datos XForms | Plantilla de datos XFA |
| Llamada WebService | Soporte | Soporte |
| Firma digital | Firma digital XFDL | Firma digital XML y firma digital PDF |
| API ActiveX Data Object (ADO) | Ninguna | Soporte |
| Incrustar | Soporte incrustado en HTML | XML Data Package (XDP), incrustado en PDF |
| Disposición | Ubicación de elementos representada en píxeles o ubicación relativa | Controlado por procesador de disposición en el contenedor de objeto |
| HTML | No soportado | Suporte para fragmento HTML incrustado |
Requisito de proyecto de migración
Los proyectos de migración de PDF implican convertir los formularios PDF existentes a Lotus Forms. Los formularios PDF pueden ser estáticos o dinámicos. Es importante tener el requisito del proyecto documentado claramente antes de iniciar la migración, y el requisito debe brindar detalles a nivel elemento en cada formulario para que el desarrollador del formulario pueda procesar cada elemento conforme a instrucciones claras.
Generalmente el documento de requisito debe contener lo siguiente:
- Instrucciones generales. Este contenido es una pauta general para la migración. Incluye el alcance de la migración, lista de funciones y un resumen claro de lo que se debe convertir y lo que no se debe convertir del PDF.
- Formulario plantilla XFDL. Este formulario plantilla incluye los componentes de estilo común y reutilizables, como por ejemplo barra de herramientas, color de fondo, configuración de impresión, rótulo tamaño y color de fuente, lista de países y estados, etcétera.
- Hoja de cálculo detallada para cada formulario. Por cada formulario a convertir debe haber una hoja de cálculo que describa el contenido y el mapeo entre el PDF y el XFDL porque los elementos de Lotus Forms y PDF podrían tener distintos tipos y propiedades. Sin la información de mapeo el desarrollador del formulario se puede perder al tratar de encontrar un tipo de elemento y un valor de opción adecuados. La Tabla 2 muestra la información que se debe incluir en la hoja de cálculo.
Tabla 2. Muestra de información requerida
| Nombre de columna | Descripción | Valor de muestra |
|---|---|---|
| Nombre del elemento | Rótulo del elemento | Nombre del organismo |
| Tipo | Tipo de elemento convertido, que puede ser diferente al PDF | Grupo de control de campo |
| Regla de elemento | Tipo de datos del elemento | Entero, una elección de selección |
| Formato | Formato del valor, como por ejemplo fecha o código postal | Fecha: MM/DD/AAAA |
| Valor predeterminado | ¿El elemento debe tener un valor predeterminado? | Predeterminado 100 |
| Obligatorio | ¿Debe ser obligatorio completar el elemento? | Sí o no |
| Rango | Rango del valor, generalmente utilizado para valores en número | 1 a 100 |
| Extensión del elemento | Tamaño del elemento | 20 |
| Desactivar/activar | Lógica para la función activar/desactivar del elemento | Activado si la respuesta a la primera pregunta es sí |
| Visible/invisible | Lógica para la función visible/invisible del elemento | Visible si la respuesta a la primera pregunta es sí |
| Mensaje de ayuda | Texto de ayuda del elemento | Complete el nombre del organismo. |
| SID | SID del elemento | Nombre_organismo |
| Nombre de la instancia de datos | El nombre de la instancia de datos enlazado al elemento | Nombre_organismo |
| Cálculo | Fórmula si el valor del elemento se calcula con otros elementos | =Mes1+Mes2 |
| Patrón | Patrón reutilizable que se puede aplicar a este elemento | Botón de firma tipo 1 |
| Otros | Otra información o lógica sobre el elemento | La firma se aplica solamente a la sección 1 y 2 |
Luego de definir y documentar el requisito, puede realizar la migración real de PDF a Lotus Forms. En general debe completar dos pasos de migración importantes:
- Utilizando la herramienta de conversión, haga una conversión sin procesar de PDF a Lotus Forms automáticamente. La herramienta de conversión de Lotus Forms es un complemento de Lotus Forms Designer que se puede utilizar para convertir de Formularios PDF a Lotus Forms. Utilizando esta herramienta puede hacerle ahorrar el esfuerzo manual en la migración.
- Actualización manual del formulario convertido sin procesar. El formulario convertido sin procesar incluye solo la disposición y la lógica. Según la hoja de cálculo de requisitos, los desarrolladores del formulario pueden verificar cada elemento del formulario y actualizar los elementos en Forms Designer uno por uno.
Las siguientes dos secciones explican estos dos pasos detalladamente.
Herramienta de conversión de Lotus Forms
La herramienta de conversión para IBM Lotus Forms 3.0.1 (el complemento Forms Conversion Tool) es una herramienta innovadora y fácil de usar que permite a los propietarios de negocios y desarrolladores de formularios convertir fácilmente archivos Portable Document Format (PDF) y formularios electrónicos FileNet en Lotus Forms. También se puede utilizar para transformar formularios Lotus Forms existentes. En Lotus Forms Designer, la herramienta de conversión de Lotus Forms está incrustada como parte de Designer 3.5. Siga el enlace de la sección Recursos para descargar el complemento Forms Conversion Tool o descargar la versión de prueba de Lotus Forms Designer e instalarla.
Una vez que está instalada la herramienta de conversión, haga clic en Archivo - Nuevo – Convertir a Lotus Forms. Aparece la ventana que se muestra en la figura 1.
Figura 1. La ventana inicial de Convert Forms
La Figura 1 muestra la ventana de selección de conversión de la herramienta de conversión. Haga clic en el botón Agregar archive para agregar más archivos para convertir. En la lista de formatos, se pueden elegir dos analizadores: PDF y FileNet. Seleccione el analizador PDF para la conversión de PDF. Seleccione el perfil pdf_predeterminado en la lista de perfiles y luego haga clic en Siguiente.
Figura 2. Selección de la ubicación del archivo
La Figura 2 muestra la ventana en la cual puede seleccionar la ubicación de almacenamiento de los archivos convertidos. La ubicación predeterminada es la misma carpeta que la del archivo PDF. Las Figuras 3 y 4 muestran el formulario PDF original y el formulario XFDL.
Figura 3. Formulario PDF original
Figura 4. Formulario Lotus Forms convertido
En estas dos ilustraciones puede ver que la mayoría de los rótulos y las disposiciones están convertidas por la herramienta.
Reglas y optimizadores personalizados
A veces el resultado convertido no es tan bueno como se espera cuando usa el perfil de conversión predeterminado. Al crear un archivo de conversión personalizado puede ajustar el proceso de conversión con un mayor nivel de detalle. Seleccione el menú Forms Designer Windows - Preferencias, luego seleccione Conversión de formularios y Perfiles de transformación en el recuadro izquierdo de la ventana de Preferencias y haga clic en el botón Siguiente. Se ve la ventana Editar perfil como se muestra en la Figura 5.
Figura 5. La ventana Editar perfil de Conversión de formularios
Puede usar esta ventana para personalizar el perfil de conversión para un tipo específico de archivo. El perfil de conversión incluye el siguiente contenido:
- Reglas de conversión. Las reglas se utilizan para personalizar el contenido del formulario creado, inclusive agregar una barra de herramientas de un formulario plantilla, actualizar el elemento fuente, color y borde, cambiar la regla de generación SID y cambiar los órdenes de elementos en la fuente XFDL.
- Generación de XForms. Esta opción se utiliza para seleccionar la lista de controles enlazados a la instancia de datos de XForms.
- Optimizadores de disposición. Los optimizadores incluyen parámetros que puede ajustar durante la conversión de los elementos PDF a elementos XFDL, como por ejemplo parámetros para crear una casilla de verificación de cuatro líneas y alinear rótulos y campos. Los optimizadores apuntan a crear nuevos elementos interactivos (casillas de verificación, campos) en el formulario según elementos estáticos (rótulos, líneas) en el PDF y alinear los elementos existentes (rótulos o campos) en el formulario.
Durante nuestro proyecto de migración, resumimos estas pautas generales sobre cómo ajustar un perfil:
- Crear un perfil para cada lote de formularios. Cada lote de formulario puede tener un estilo diferente. Cree un perfil para cada lote, y ajuste los parámetros para lograr el mejor resultado. El perfil se puede exportar e importar, para que cada desarrollador de formularios pueda tener la misma configuración de conversión.
- Si el requisito de formulario incluye reglas XForms detalladas, debe sugerir desactivar la generación de instancia XForms porque el nombre de la instancia generada se basa en la SID y generalmente no se ajusta al procesamiento back-end.
- Active la opción Utilizar ancho y alto determinado si en el formulario convertido se cortan algunos rótulos debido a que está configurada una extensión insuficiente para el rótulo. Esta regla puede eliminar el ancho y el alto en el rótulo, que usa el tamaño predeterminado calculado por el visor de Lotus Forms.
- Desactive la opción “Combinar Líneas/Rótulos adyacentes” si hay muy pocos campos generados en el formulario. La combinación de líneas y rótulos afecta la generación de campos por parte del optimizador “Transformar una línea o casilla en un campo” porque elimina algunas líneas y rótulos del formulario.
Actualización manual luego de la conversión automática
En la mayoría de las situaciones, los formularios convertidos automáticamente no se pueden utilizar directamente porque las instancias de datos del formulario no están bien organizadas y el proyecto de migración generalmente requiere que la instancia de datos se ajuste a cierto esquema que se puede enviar al flujo de procesamiento back-end.
Elementos de actualización manual
La actualización manual es un paso obligatorio en el proyecto de migración para abordar las funciones que no puede cumplir la conversión automática. Hay algunos pasos obligatorios:
- Ajustar la disposición detallada, el formato, la lógica y la SID según la hoja de cálculo del formulario documentado.
- Generar la instancia de datos XForms y el enlace XForms basado en la lógica de negocios.
- Luego de la conversión automática, el elemento PDF sin convertir, como por ejemplo espacio o imágenes color no reconocidas, crea un comentario XML en el XFDL. La actualización manual se requiere para despejar estos comentarios o actualizar los elementos no convertidos según los comentarios.
- Actualizar la firma digital según el requisito. La conversión automática puede generar únicamente una firma Clickwap.
- Actualizar el envío de datos según el requisito. La conversión automática no controla el envío de datos del formulario PDF original.
- Actualizar la lógica según el JavaScript del formulario PDF. La conversión automática no convierte el JavaScript en script XFDL.
- Actualizar elementos gráficos. En el formulario PDF podría haber elementos gráficos como por ejemplo imagen de vector, una línea oblicua y una línea curva. Lotus Forms no soporta estos elementos, pero se pueden reemplazar utilizando imágenes JPG o GIF capturadas del formulario PDF.
Lista de comprobación de QA manual
Luego de la actualización manual, se genera el formulario ingresa al proceso de aseguramiento de calidad (QA). La Tabla 3 muestra los elementos que resumimos de nuestro proyecto de migración que se deben resaltar en el proceso de QA.
Tabla 3. Lista de comprobación de QA
| Nombre | Descripción |
|---|---|
| Fuente y color | Algunos colores o fuentes en PDF no se muestran correctamente en Lotus Forms. Debe revisar las diferencias durante el proceso de QA. |
| Comprobación de disposición | Compare la disposición de los formularios en el visor de Lotus Forms o Webform Server con el PDF original. Concéntrese en los rótulos y las líneas. Por ejemplo, en PDF se puede ajustar el ancho del carácter, pero en Lotus Forms es fijo. Esta discrepancia puede hacer que los rótulos se vean diferentes. |
| Comprobación de impresión | Imprima el formulario convertido y el PDF. Compare los formularios impresos en papel para verificar cualquier discrepancia. |
| Regla de validación de datos | Compare la validación de datos del PDF y del formulario convertido ingresando datos en los formularios. |
| Lógica de script | Compare la lógica de XFDL y XForms con el JavaScript en el PDF para comprobar que esté implementada correctamente en el formulario convertido. |
| Parte dinámica | Tanto PDF como XFDL soportan la generación de contenido dinámico. Puede probarlo generando un conjunto completo de datos en la instancia de datos. |
En general, el proyecto de migración PDF incluye un requisito bien definido para cada formulario, una herramienta de conversión PDF, y actualización manual y procesos de QA. Debido a que parte del proceso es automático y requiere conocimiento de PDF, es distinto a los otros proyectos Lotus Forms, como por ejemplo crear formularios desde cero. Potenciar la herramienta de conversión de Lotus Forms es una buena adopción en un proyecto de migración PDF.
Aprender
- Consulte la documentación del producto IBM Lotus Forms.
- Consulte la especificación de XFDL.
- Consulte la XML Forms
Architecture (XFA) Specification Version 2.4.
- Consulte la documentación de Adobe
Portable Document Format Version 1.7.
Obtener los productos y tecnologías
- Descargue la versión de
prueba de IBM Lotus Forms Designer, que incluye la herramienta de conversión como
función.
Comentar
Gu Yi es Lead Software Engineer en el Emerging Services Team de IBM Software Services for Lotus (ISSL) en el Laboratorio de Desarrollo de IBM en China. Ha participado en proyectos de IBM Software Services desde 2005 y formó parte de varios proyectos de servicios que incluyeron IBM Lotus Forms. Se dedica a crear activos de servicios que hacen más eficientes los proyectos y aceleran las capacidades de entrega de IBM. Además, Gu Yi tiene tres años de experiencia trabajando con el Portal IBM WebSphere® y cuatro años de experiencia en la industria en el desarrollo de la Plataforma Java™, 2 Platform, Enterprise Edition.