Creación automática de choices y booleanos XFA
Unit: HPDFXFAHeadless
HPDFXFAWriteHeadlessPDF consume el layout XFA real y construye campos choice, widgets checkbox y padres y miembros radio sin slots PDF preparados
Campos choice
Los campos combo y list usan diccionarios nativos /FT /Ch; las listas XFA de visualización y guardado separadas se convierten en pares /Opt export/display, preservando Unicode, delimitadores, exportaciones vacías explícitas, items escalares tipados y espacios de exportación circundantes
Un combo editable conserva su valor de texto libre; un choice no editable exige que la exportación seleccionada exista en su lista de opciones
Los valores multi-select son exportaciones XFA separadas por saltos de línea y se convierten en un array nativo /V ordenado y en índices /I coincidentes en el orden de opciones; los valores seleccionados duplicados se rechazan durante la preparación
El scripting de items de choice preserva los índices explícitos exactos para exports duplicados y vacíos a través del XDP guardado, de modo que sus arrays PDF /I, los valores /V exportados y las appearances de etiquetas de visualización permanezcan sin ambigüedad
La validación de selección duplicada compara cadenas exactas sin reordenar la lista de selección original; un heap sort de índices reemplaza las comparaciones de pares cuadráticas y comprueba la cancelación a lo largo de la validación de unicidad
El texto de apariencia de choices usa las etiquetas de visualización, mientras que /V usa los valores de exportación; las apariencias de list contienen una ventana visible medida con la primera selección, un índice /TI superior exacto y highlights relativos de filas seleccionadas conservando el grafo completo de opciones
Los flags nativos de combo, edit, multi-select, selection-commit y readOnly usan tokens enteros PDF exactos, de modo que un bit alto de flag no pueda borrar el bit readOnly
Estados de checkbox y radio
Los checkboxes contienen Form XObjects reales de estado Off y on; los estilos y captions booleanos consumen formas de markers reales, tamaño, outlines de UI, colores de campo, captions Unicode escalares y terceros estados de checkbox sin depender de un carácter de checkmark en la fuente suministrada
El /Opt nativo conserva el valor de exportación XFA; la exportación reservada Off y las exportaciones que empiezan por XFAOn reciben aliases de estado activo sin colisiones, mientras que sus cadenas de exportación reales permanecen sin cambios en /Opt
Los miembros radio comparten un padre nativo por ruta de exclusion-group de plantilla y por ruta nativa de contexto de datos; los grupos repetidos reciben /Kids, /V, /Opt y estados /AS de widget independientes incluso cuando sus nombres de grupo visualizados son idénticos
Las exportaciones iguales dentro de un grupo radio activan RadiosInUnison y activan cada miembro correspondiente; la política de edición de todo el documento y el acceso del exclusion-group determinan el flag readOnly del padre
El layout de exclusion-group tb y lr-tb se despacha con el ámbito nativo de datos actual, y los exclusion groups posicionados aplican su propio origen x/y a sus miembros
Persistencia en runtime y preparación
Las lecturas y asignaciones de rawValue de exclusion-groups participan en la transacción nativa de eventos existente, en el binding de celdas, en la sincronización formulario/data y en el rollback; el XDP guardado en runtime puede pasarse directamente al creador automático
El fixture de aceptación muta el segundo combo, checkbox y exclusion group repetidos, lee el grupo a través de su alias de datos de inmediato, guarda XDP y verifica de forma independiente los valores, estados y apariencias del PDF resultante preservando la primera instancia
Todos los fallos de preparación del candidato preservan los bytes, la longitud y la posición del destino; los arrays de opciones de choices, los nombres de campos, las exportaciones booleanas, los recuentos de widgets, las asignaciones del grafo y el texto agregado de apariencias conservan los límites de recursos existentes
El fallo de I/O del destino conserva la frontera de stream del llamador descrita por Automatic XFA creation
Trabajo de consumidores restante
Los captions rich, el dimensionado de captions con wrapping, los estilos de outline por edge y rellenos, los commits posteriores de estados de widgets, el scrolling interactivo posterior de list, la ambigüedad de líneas vacías en multi-select, los métodos dinámicos de items de choice, los layouts avanzados de exclusion-groups y los campos de firma siguen siendo trabajo de integración separado
Choice metadata documenta las pistas de callback aditivas que usan estos consumidores nativos