XFA
XFA (también conocido como formularios XFA) significa XML Forms Architecture, una familia de especificaciones XML patentadas que fue sugerida y desarrollada por JetForm para mejorar el procesamiento de formularios web. También se puede utilizar en archivos PDF a partir de la especificación PDF 1.5. Se hace referencia a la especificación XFA como una especificación externa necesaria para la aplicación completa de la especificación ISO 32000-1 (PDF 1.7). La arquitectura de formularios XML no se estandarizó como estándar ISO y quedó obsoleta en PDF 2.0.
Sinopsis
La principal extensión de XFA a XML son las etiquetas computacionalmente activas. Además, todas las instancias creadas a partir de una plantilla de formulario XFA determinada mantienen la especificación de las reglas de captura, representación y manipulación de datos del original. Otra ventaja importante de XFA es que su formato de datos permite la compatibilidad con otros sistemas y con cambios en otras tecnologías, aplicaciones y estándares tecnológicos.
Según la presentación de JetForm al World Wide Web Consortium, "XFA aborda las necesidades de las organizaciones para capturar, presentar, mover, procesar, generar e imprimir de forma segura información asociada con formularios electrónicos". ; La propuesta XFA fue presentada al W3C en mayo de 1999.
En 2002, JetForm Corporation fue adquirida por Adobe Systems, y esta última introdujo formularios XFA con PDF 1.5 y las versiones posteriores de Acrobat (6 y 7) en 2003.
Los formularios XFA se guardan internamente en archivos PDF o como archivos XDP (paquete de datos XML) que se pueden abrir en el software LiveCycle Designer de Adobe. Un XDP puede empaquetar un archivo PDF, junto con un formulario XML y datos de plantilla. XDP proporciona un mecanismo para empaquetar componentes de formulario dentro de un contenedor XML circundante.
Aunque XFA puede utilizar PDF, XFA no está vinculado a un lenguaje de descripción de página en particular.
La especificación XFA incluye un apéndice que analiza los detalles de la implementación XFA específica de Adobe y los comportamientos de los productos Adobe que se desvían de la especificación XFA.
Los datos completados en un formulario XFA se pueden enviar a un host mediante una operación HTTP POST en formato XDP, formato PDF, formato XFDF, formato XML 1.0 o como formato codificado en URL.
XFA admite el uso de XSLT para transformar los datos XML antes de cargarlos en XFA Data DOM o después de descargarlos de XFA Data DOM.
Uno de los enfoques de paginación de XFA duplica la lógica de paginación y gran parte de la sintaxis de XSL-FO.
Los formularios XFA son sinónimos de SmartForms en el gobierno australiano.
Formas estáticas y dinámicas
XFA define formas estáticas (desde XFA 2.0 y anteriores) y formas dinámicas (desde XFA 2.1 o 2.2).
En un formulario estático, la apariencia y el diseño del formulario son fijos, independientemente del contenido del campo. Todos los campos sin completar están presentes en el formulario. De forma predeterminada, los formularios estáticos no requieren volver a renderizarse. XFA reconoce dos tipos de formas estáticas: "formas estáticas de estilo antiguo" (usando "XFA completo") y XFAF (un subconjunto de XFA completo, definido desde XFA 2.5).
Las formas dinámicas (definidas desde XFA 2.1 o 2.2) pueden cambiar de apariencia de varias maneras en respuesta a cambios en los datos. El formulario dinámico requiere la representación de su contenido al abrir el archivo. Los formularios dinámicos también pueden diseñarse para cambiar la estructura y adaptarse a los cambios en la estructura de los datos suministrados al formulario. Por ejemplo, se puede omitir una página de un formulario si no hay datos para ella. Otro ejemplo es un campo que puede ocupar una cantidad variable de espacio en la página y cambiar de tamaño para contener su contenido de manera eficiente. El formulario dinámico no puede depender de una representación PDF de su texto estándar, porque la posición y el diseño del texto estándar cambian a medida que los campos crecen y se reducen o cuando los subformularios se omiten e incluyen.
Uso con formato de documento portátil
PDF 1.7 admite dos métodos diferentes para integrar datos y formularios PDF.
- AcroForms (también conocido como Acrobat forms), introducido e incluido en la especificación de formato PDF 1.2.
- Adobe XML Forms Architecture (XFA) formularios, introducidos en la especificación de formato PDF 1.5 como característica opcional (La especificación XFA no está incluida en la especificación PDF, sólo se hace referencia).
Adobe XFA Forms no es compatible con AcroForms. Cuando un XFA se empaqueta dentro de un archivo PDF, se coloca en el diccionario de recursos de documentos de AcroForm ("Shell PDF") o se hace referencia a él desde la entrada de AcroForm en el catálogo de documentos.
La creación de formularios XFA para su uso en Adobe Reader requiere Adobe LiveCycle Designer. Adobe Reader contiene "funciones deshabilitadas" para el uso de XFA Forms, que se activará solo al abrir un documento PDF creado utilizando tecnología habilitadora disponible solo en Adobe. Los formularios XFA no son compatibles con Adobe Reader anteriores a la versión 6.
Perfiles
A partir de XFA 2.5, los formularios pueden utilizar un subconjunto de la capacidad XFA completa. Actualmente el único especificado es el perfil XFAF.
XFA se puede utilizar como:
- completo XFA - que expresa todo el formulario, incluyendo la caldera, directamente en XFA (sin ningún PDF o sin un fondo PDF completo). Se puede empaquetar dentro de un "paquete PDF" con una marcación mínima en PDF o como un XDP independiente. Se utiliza para formas dinámicas XFA (desde XFA 2.1) y también para las formas XFA estática "tradicional" (al estilo antiguo). Opcionalmente puede incluir una representación pre-rendered del formulario XFA como páginas PDF - pero es útil sólo para las formas estáticas tradicionales. La dinámica XFA debe ser entregada en la apertura de archivos.
- XFAF (XFA Foreground) subset - (introducido en XFA 2.5) - un formulario en el que cada página del formulario XFA supera un fondo PDF. Se puede utilizar sólo para formas XFA estáticas. Esta arquitectura utiliza sólo un subconjunto de XFA. Se puede empaquetar dentro de un documento PDF regular o como un archivo XDP independiente con PDF incrustado. En XFAF cada campo XFA corresponde a un campo interactivo PDF (campo AcroForm).
Embalaje
Los formularios XFA se pueden crear y utilizar como archivos PDF 1.5 - 1.7 o como XDP (paquete de datos XML). El formato de un recurso XFA en PDF se describe en la Especificación del paquete de datos XML. El PDF puede contener XFA en formato XDP, pero XFA también puede contener PDF.
Cuando las gramáticas XFA (Arquitectura de formularios XML) utilizadas para un formulario XFA se mueven de una aplicación a otra, deben empaquetarse como un paquete de datos XML. El XDP puede ser un documento independiente o, a su vez, puede llevarse dentro de un documento PDF.
Variantes de empaquetado del formulario XFA (usando XDP):
- como XML independiente Paquete de datos (XDP) (.xdp file) que también puede incluir un archivo PDF
- dentro de un documento PDF regular - usado para formas estáticas - XFAF.
- dentro de un "Shell PDF" - utilizado para el formulario "full XFA" (dinamic o tradicional estático) - Un archivo PDF Shell contiene sólo un esqueleto mínimo de marcado PDF más el contenido completo de XFA, cualquier fuente e imágenes necesarias para la reproducción del formulario. Minimiza el tamaño del archivo y la sobrecarga de renderización se mueve del servidor al cliente.
Empaquetar un XDP dentro de PDF tiene la ventaja de que es más compacto, porque PDF es comprimido. XDP en PDF se puede firmar digitalmente de maneras que un XDP independiente no puede.
Por el contrario, empaquetar componentes de formulario dentro de un contenedor XML (XDP) facilita que las aplicaciones XML estándar trabajen con formularios XFA. Los componentes XML son legibles por humanos y fáciles de editar (a diferencia del código fuente PDF). Cuando está en formato XDP, un documento XFA se puede validar utilizando esquemas adjuntos a la especificación XFA.
Compatibilidad
La mayoría de los procesadores de PDF no manejan contenido XFA. Al generar un PDF shell, se recomienda incluir en el marcado del PDF una imagen PDF simple de una página que muestre un mensaje de advertencia (por ejemplo, "Para ver el contenido completo de este documento, necesita una versión posterior del visor de PDF). ", "El contenido completo de este archivo no se puede mostrar con su visor de PDF actual.", "Espere... Si este mensaje finalmente no se reemplaza por el contenido adecuado de el documento, es posible que su visor de PDF no pueda mostrar este tipo de documento.", etc.). Los procesadores de PDF que pueden representar contenido XFA no deberían mostrar la imagen de la página de advertencia proporcionada o reemplazarla rápidamente con el contenido del formulario dinámico.
En 2013, como solución para plataformas móviles y plataformas de escritorio sin soporte XFA, Adobe creó un software que crea formularios HTML5 en línea rellenables desde XFA (conocido como Adobe "Mobile Forms"). Los formularios móviles no son un solo archivo como un PDF o XDP.
Texto enriquecido
El texto enriquecido puede aparecer en los datos proporcionados a los formularios XFA, en las plantillas XFA como valores de texto predeterminados, como títulos de campo o como contenido repetitivo (dibujado).
A partir de PDF 1.5 (XFA 2.02), el contenido de texto de los campos de formulario de texto variable, así como las anotaciones de marcado, pueden incluir información de formato (información de estilo). Estas cadenas de texto enriquecido son documentos XML que cumplen con las convenciones de texto enriquecido especificadas para la especificación XML Forms Architecture, que es en sí misma un subconjunto de la especificación XHTML 1.0, aumentada con un conjunto restringido de atributos de estilo CSS2.
En PDF 1.6, PDF admite los elementos y atributos de texto enriquecido especificados en la Especificación de arquitectura de formularios XML (XFA), 2.2. En PDF 1.7, PDF admite los elementos y atributos de texto enriquecido especificados en la Especificación de arquitectura de formularios XML (XFA), 2.4. En 2011 se anunció que PDF 2.0 (ISO 32000 Parte 2) haría referencia a XFA 3.1, pero cuando se publicó, PDF 2.0 lo dejó obsoleto.
PDF/A
Cuando un formulario XFA se convierte a PDF/A, tanto el texto estándar como el contenido del campo se acoplan en una secuencia de apariencia PDF. PDF/A prohíbe el contenido activo y todo el contenido XFA excepto, opcionalmente, el documento de datos XML (datos de formularios creados por un usuario).
Estandarización
La especificación XML Forms Architecture no está incluida en el estándar PDF 1.7 (ISO 32000-1:2008) y solo se hace referencia a ella como una especificación patentada externa creada y publicada por Adobe. Sin embargo, la norma ISO 32000-1 hace referencia a XFA como normativo e indispensable para la aplicación de la especificación ISO 32000-1. XFA no estaba estandarizado como estándar ISO.
Desde 2007, el desarrollo del estándar PDF ha sido llevado a cabo por el Comité Técnico 171/Subcomité 2/Grupo de Trabajo 8 de ISO (TC 171/SC 2/WG 8).
En 2011, el Comité ISO instó a Adobe Systems a enviar la especificación XFA, arquitectura de formularios XML (XFA), a ISO para su estandarización, y solicitó que Adobe Systems estabilizara la especificación XFA. El Comité expresó su preocupación por la estabilidad de la especificación XFA.
En 2017 el Comité ISO deprecató XFA desde PDF 2.0.
Versiones XFA
Versión XFA | Año de publicación | Referencia en versión PDF | Nuevas características | Adobe Acrobat versión | Adobe Designer versión |
---|---|---|---|---|---|
2.02 | 2003 | 1,5 | XFA 2.0 solo soporta formas estáticas | 6.0 | 6 |
2.1 | Configuración de conexión DOM, datos de conexión DOM, descripción de datos DOM, configuración de conexión DOM, datos de conexión DOM, descripción de datos DOM, diseño DOM, modelos de objetos especiales, ampliación de la capacidad del elemento de grupo de exclusión, ocultar/revelar contenedores dependiendo de la relevancia, contenedores cultivables, formato de párrafo, formato SO, aspecto de imagen, campos no interactivos Formas dinámicas, Repetición de subformas, Referencias de datos Explicit, Sets de Subformes, Procesamiento de registros, Campos globales, elemento de descripción de datos, Limitación de datos predeterminado para incluir datos de atributos, opción Subformulario, Diseño automático, Diseño dinámico, Estrategia de distribución de flotación, Soporte de distribución de flotación para tablas y hojas de tabla, Texto rico: Objetos incrustados, soporte de subscripto y superscripto, Tipos de Widget nuevos, Soporte para representaciones en lengua asiática, Objeto de scripting Modelo: Referencia de objetos por sus nombres de clase, FormCalc: Nuevas funciones para acceder a locales | ||||
2.2 | 2004 | 1.6 | Configuración de conexión DOM, datos de conexión DOM, Evento para la lista de selección desplegable populación widgets, firmas digitales XML W3C, plantillas de identificación únicas, variables de documento utilizadas como objetos de script | 7.0 | 7 |
2.4 | 2006 | 1.7 e ISO 32000-1 | Forma fragmentos, Cifrado de código de barras, codificación de caracteres de código de barras, opción con codificación URL para enviar, eventos de entrada y salida de la lista de elección, Manifests como variables de scripting, unión compleja, unión condicional, Soporte para flujo de texto derecho a izquierda, ruptura condicional, tablas de anidación, Capciones pueden diferir entre vistas | 7.0 | 7.1 |
2.5 | 2007 | 1.7 Nivel de extensión de Adobe 1 | Entrega segura, evento de cambio de índice, XFA Foreground (XFAF), Cambio a la selección de la página inicial, Control de Explicit de la paginación de la impresora, funcionalidad del Widget: Control sobre desplazamiento, formas de marca de cheques, resaltado de botón, Control de explícito sobre el número de células en peines, Seguridad y Control: firmas de documentos MDP+ | 8.0 | 8 |
2.6 | 2008 | 1.7 Nivel de extensión de Adobe 2 | Adobe XMP documentado, sintaxis de configuración de Adobe documentado, control de la versión de plantilla, banderas heredadas de Adobe documentadas (para compatibilidad con retrocesos), almacenamiento de imágenes en PDF (imagenes almacenadas como recursos en el contenedor PDF), Nuevos tipos de códigos de barras (UPS Maxicode, Aztec, Data Matrix y la familia RSS14) | 8.1, 8.1.1 | ES 8.1 |
2.7 | 2008 | 1.7 Nivel de extensión de Adobe 3 | Locale set typefaces, Nuevo conjunto de reglas para elegir fuentes alternativas | 8.1, 8.1.1 | ES 8.1.2 |
2.8 | 2008 | 1.7 Nivel de extensión de Adobe 3 | Nuevo dataset de variables, Fragmentos de formulario que declaran traversales, Accede a propiedades extendidas a subformas, Mejore el control de huérfanos y viudas, Mantener propiedades extendidas a campos y sorteos, Política de autenticación para servicios web, Presentar a través de WSDL/SOAP, Eventos pre-y post-submitados estandarizados, Eventos pre-sign y post-sign agregados, Eventos previos pueden cancelar la acción asociada, Cambio en el comportamiento, Soporte de manutención de manutención de texto Hipervínculos de salida | 9.0 | ES 8.2 |
3.0 | 2009 | 1.7 Nivel de extensión de Adobe 5 | La bandera de compatibilidad anula en LiveCycle, presencia inactiva, propagación de eventos (hacia sus objetos ancestrales), eventos de validación añadidos, control de manejo de validación global | 9.1 | |
3.1 | 2009 | 1.7 Nivel de extensión de Adobe 6 | Soporte para datos relacionales, inyección de datos en la descripción de datos, ejemplos de código de barras expandidos e ilustrados, Ejemplos de automatización ampliados y corregidos, Control sobre la imposición dúplex, Rendering: Soporte para dúplex de borde largo o corto, Soporte para más impresoras de etiquetas | X (10) | ES 2 |
3.3 | 2012 | 1.7 Adobe Extension Level 8 | Lista tocada, lista numerada y soporte para listas anidadas, soporte para contenido de flujo de derecha a izquierda Subformas y tablas, predefinición de renderización heredada, soporte de cifrado XML y soporte de descifrado, elemento de autoahorro añadido, ADBE_JSConsole y ADBE_ JSDebugger elements added, Flash (SWF) Integration in XFA | X (10) | ES 3 |