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