XFA (también conocido como XFA forms ) significa XML Forms Architecture , una familia de especificaciones XML propietarias 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. La especificación XFA se menciona como una especificación externa necesaria para la aplicación completa de la especificación ISO 32000-1 (PDF 1.7). La XML Forms Architecture no se estandarizó como un estándar ISO , [3] y ha quedado obsoleta en PDF 2.0. [4]
Descripción general
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 gran ventaja de XFA es que su formato de datos permite la compatibilidad con otros sistemas y con los cambios en otras tecnologías, aplicaciones y estándares tecnológicos.
Según la presentación de JetForm al Consorcio World Wide Web , "XFA aborda las necesidades de las organizaciones de capturar, presentar, mover, procesar, generar e imprimir de forma segura información asociada con formularios electrónicos". [5] La propuesta XFA se presentó 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. [6]
Los formularios XFA se guardan internamente en archivos PDF o como archivos XDP ( XML Data Package ) que se pueden abrir en el software LiveCycle Designer de Adobe. Un XDP puede empaquetar un archivo PDF, junto con datos de formularios y plantillas XML. [7] XDP proporciona un mecanismo para empaquetar componentes de formularios 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 de XFA específica de Adobe y los comportamientos de los productos de Adobe que se desvían de la especificación XFA.
Los datos completados en un formulario XFA pueden enviarse a un host mediante una operación HTTP POST en formato XDP, formato PDF, formato XFDF, formato XML 1.0 o como un 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 que no estén completos están presentes en el formulario. De forma predeterminada, los formularios estáticos no requieren volver a renderizarse. XFA reconoce dos tipos de formularios estáticos: "formularios estáticos de estilo antiguo" (que utilizan "XFA completo") y XFAF (un subconjunto de XFA completo, definido desde XFA 2.5).
Los formularios dinámicos (definidos desde XFA 2.1 o 2.2) pueden cambiar de apariencia de varias maneras en respuesta a cambios en los datos. Los formularios dinámicos requieren la representación de su contenido al abrir el archivo. Los formularios dinámicos también pueden diseñarse para cambiar la estructura para 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 de manera eficiente su contenido. Los formularios dinámicos no pueden depender de una representación en PDF de su código fuente, porque la posición y el diseño del código fuente cambian a medida que los campos crecen y se reducen o se omiten e incluyen subformularios.
Uso con formato de documento portátil
PDF 1.7 admite dos métodos diferentes para integrar datos y formularios PDF. [3] [8]
- AcroForms (también conocido como Acrobat forms ), introducido e incluido en la especificación de formato PDF 1.2.
- Formularios Adobe XML Forms Architecture (XFA) , introducidos en la especificación de formato PDF 1.5 como una característica opcional (la especificación XFA no está incluida en la especificación PDF, solo se hace referencia a ella).
Los formularios Adobe XFA no son compatibles con AcroForms. Cuando se incluye un XFA dentro de un archivo PDF, se lo 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.
Para crear formularios XFA para su uso en Adobe Reader se necesita Adobe LiveCycle Designer . [9] Adobe Reader contiene "funciones deshabilitadas" para el uso de formularios XFA, que se activarán únicamente al abrir un documento PDF creado con tecnología de habilitación disponible únicamente en Adobe. [10] [11] Los formularios XFA no son compatibles con Adobe Reader anterior a la versión 6.
Perfiles
A partir de XFA 2.5, los formularios pueden utilizar un subconjunto de la capacidad completa de XFA. Actualmente, el único perfil especificado es el XFAF.
XFA se puede utilizar como:
- XFA completo : expresa todo el formulario, incluido el código fuente, directamente en XFA (sin ningún PDF o sin un fondo PDF completo). Puede empaquetarse dentro de un "PDF shell" con un marcado PDF mínimo o como un XDP independiente. Se utiliza para formularios XFA dinámicos (desde XFA 2.1) y también para los llamados formularios XFA estáticos "tradicionales" (de estilo antiguo). Opcionalmente, puede incluir una representación pre-renderizada del formulario XFA como páginas PDF, pero es útil solo para formularios estáticos tradicionales. El XFA dinámico debe renderizarse al abrir el archivo.
- Subconjunto XFAF (XFA Foreground) (introducido en XFA 2.5): un formulario en el que cada página del formulario XFA se superpone a un fondo PDF. Se puede utilizar únicamente para formularios XFA estáticos. Esta arquitectura utiliza únicamente un subconjunto de XFA. [12] Se puede empaquetar dentro de un documento PDF normal 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 ( XML Data Package ). El formato de un recurso XFA en PDF se describe en la Especificación de paquete de datos XML. [13] PDF puede contener XFA en formato XDP, pero XFA también puede contener PDF. [7]
Cuando las gramáticas XFA (XML Forms Architecture) utilizadas para un formulario XFA se trasladan de una aplicación a otra, deben empaquetarse como un paquete de datos XML. El XDP puede ser un documento independiente o puede, a su vez, estar dentro de un documento PDF. [12]
Variantes de empaquetado de formularios XFA (usando XDP):
- como un paquete de datos XML (XDP) independiente (archivo .xdp) que opcionalmente también puede incluir un archivo PDF
- dentro de un documento PDF normal (utilizado para formularios estáticos - XFAF).
- Dentro de un "PDF de Shell" (utilizado para el formulario "XFA completo" (dinámico o estático tradicional), un archivo PDF de Shell contiene solo un esqueleto mínimo de marcado PDF más el contenido XFA completo, las fuentes y las imágenes necesarias para la representación del formulario. Minimiza el tamaño del archivo y la sobrecarga de representación se traslada del servidor al cliente.
Empaquetar un XDP dentro de un PDF tiene la ventaja de que es más compacto, porque el PDF está comprimido. El XDP en PDF se puede firmar digitalmente de maneras que un XDP independiente no puede.
Por el contrario, empaquetar los componentes de un formulario dentro de un contenedor XML (XDP) facilita que las aplicaciones XML estándar trabajen con formularios XFA. Los componentes XML son legibles y fáciles de editar (a diferencia del código fuente PDF). Cuando se encuentran en formato XDP, un documento XFA puede validarse utilizando esquemas adjuntos a la especificación XFA.
Compatibilidad
La mayoría de los procesadores PDF no manejan contenido XFA. Al generar un PDF de shell, se recomienda incluir en el marcado 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", "Por favor espere... Si este mensaje no se reemplaza finalmente por el contenido adecuado del documento, es posible que su visor de PDF no pueda mostrar este tipo de documento", etc.). Los procesadores PDF que pueden reproducir contenido XFA no deben 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 de escritorio sin compatibilidad con XFA, Adobe creó un software que crea formularios HTML5 rellenables en línea a partir de XFA (conocidos como Adobe "Mobile Forms"). Los formularios móviles no son un único archivo como un PDF o un XDP. [14] [15]
Texto enriquecido
El texto enriquecido puede aparecer en los datos suministrados a los formularios XFA, en las plantillas XFA como valores de texto predeterminados, como títulos de campos o como contenido estándar (dibujo).
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 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. [13]
En PDF 1.6, PDF admite los elementos de texto enriquecido y los atributos especificados en la especificación de arquitectura de formularios XML (XFA), 2.2. En PDF 1.7, PDF admite los elementos de texto enriquecido y los atributos especificados en la especificación de arquitectura de formularios XML (XFA), 2.4. [13] Se anunció en 2011 que PDF 2.0 (ISO 32000 Parte 2) haría referencia a XFA 3.1, [16] pero cuando se publicó, PDF 2.0 lo desaprobó. [4]
PDF/A
Cuando un formulario XFA se convierte a PDF/A , tanto el código fuente como el contenido de los campos se combinan en un flujo 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).
Normalizació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 externa propietaria creada y publicada por Adobe. Sin embargo, la ISO 32000-1 hace referencia a XFA como normativa e indispensable para la aplicación de la especificación ISO 32000-1. XFA no se estandarizó 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 (TC 171/SC 2/WG 8) de ISO.
En 2011, el Comité ISO instó a Adobe Systems a presentar la especificación XFA, XML Forms Architecture (XFA), a ISO para su estandarización, y solicitó que Adobe Systems estabilizara la especificación XFA. El Comité expresó sus preocupaciones sobre la estabilidad de la especificación XFA. [16]
En 2017, el Comité ISO eliminó XFA de PDF 2.0. [4]
Versiones de XFA
Véase también
Referencias
- ^ Tipos de medios de aplicación de IANA - Árbol de proveedores - vnd.adobe.xdp+xml , consultado el 9 de abril de 2014
- ^ Tipos de medios de aplicación de IANA - Árbol de proveedores - vnd.adobe.formscentral.fcdt , consultado el 9 de abril de 2014
- ^ ab "Gnu PDF - PDF Knowledge - Forms Data Format" . Consultado el 19 de febrero de 2010. Aparentemente ,
Adobe introdujo algo más nuevo llamado XFA (XML Forms Architecture) que no parece estandarizado.
- ^ abc «PDF 2.0: El estándar mundial para documentos electrónicos ha evolucionado – PDF Association» . Consultado el 5 de diciembre de 2018 .
- ^ Presentación del W3C (consultada el 14 de agosto de 2006)
- ^ Una breve introducción a la tecnología de formularios de Acrobat (formato PDF)
- ^ de Adobe Systems Incorporated. «Arquitectura de formularios XML de Adobe (XFA)». Archivado desde el original el 23 de diciembre de 2009. Consultado el 19 de febrero de 2010 .
- ^ "Acerca de los formularios PDF". Archivado desde el original el 29 de abril de 2011. Consultado el 19 de febrero de 2010 .
- ^ "Extensiones de Adobe LiveCycle Reader ES2" . Consultado el 19 de febrero de 2010 .
- ^ Adobe Reader - Acuerdo de licencia de software (PDF) , consultado el 19 de febrero de 2010
- ^ "Características y beneficios de LiveCycle Reader Extensions ES" . Consultado el 19 de febrero de 2010 .
- ^ ab XML Forms Architecture (XFA) Specification Version 2.5 (PDF) , 8 de junio de 2007 , consultado el 19 de febrero de 2010
- ^ abc Adobe Systems Incorporated (1 de julio de 2008), Gestión de documentos: formato de documento portátil, parte 1: PDF 1.7, primera edición (PDF) , consultado el 19 de febrero de 2010
- ^ Adobe Reader Mobile y formularios XFA desde LiveCycle Designer, 16 de abril de 2014.
Adobe Reader Mobile no admite archivos PDF basados en XFA creados en LiveCycle Designer y no proporcionará esta compatibilidad en el futuro.
- ^ Diferenciación de características entre formularios móviles y formularios PDF , consultado el 22 de abril de 2014
- ^ ab ISO/TC 171/SC 2/WG 8 N 603 - Informe de la reunión (PDF) , 2011-06-27,
XFA no será un estándar ISO todavía. ... El Comité insta a Adobe Systems a enviar la Especificación XFA, XML Forms Architecture (XFA), a ISO para su estandarización... El Comité está preocupado por la estabilidad de la especificación XFA... La Parte 2 hará referencia a XFA 3.1
Enlaces externos
- Adobe XML Forms Architecture (XFA): recursos para desarrolladores Archivado el 23 de diciembre de 2009 en Wayback Machine