Creazione automatica di choice e boolean XFA

Unit: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF consuma il layout XFA reale e costruisce campi choice, widget checkbox e parent/membri radio senza slot PDF preparati

Campi choice

I campi combo e list usano dizionari nativi /FT /Ch; le liste XFA separate di display e save diventano coppie export/display in /Opt, preservando Unicode, delimitatori, export vuoti espliciti, item scalari tipizzati e spazi attorno agli export

Una combo editabile conserva il suo valore di testo libero; una choice non editabile richiede che l'export selezionato esista nella sua lista di opzioni

I valori multi-select diventano un array nativo /V ordinato e indici /I corrispondenti in ordine di opzione; l'input ordinario solo-valore usa export separati da newline e respinge valori selezionati duplicati durante la preparazione

Lo scripting degli item choice preserva gli indici espliciti esatti per export duplicati e vuoti attraverso l'XDP salvato, così i loro array /I PDF, i valori /V esportati e gli aspetti delle etichette display restano non ambigui

La validazione della selezione duplicata confronta stringhe esatte senza riordinare la lista di selezione autoriale; un heap sort sugli indici sostituisce i confronti a coppie quadratici e controlla la cancellazione durante tutta la validazione di unicità

Il testo dell'aspetto delle choice usa le etichette display, mentre /V usa i valori di export; gli aspetti delle list contengono una finestra visibile misurata con la prima selezione, un indice top /TI esatto ed evidenziazioni relative delle righe selezionate conservando il grafo completo delle opzioni

I flag nativi combo, edit, multi-select, selection-commit e readOnly usano token interi PDF esatti così un bit alto di flag non può cancellare il bit readOnly

Stati checkbox e radio

Le checkbox contengono Form XObject reali per lo stato Off e on; gli stili e caption Boolean consumano forme di marker reali, dimensione, outline UI, colori dei campi, caption Unicode scalari e terzi stati delle checkbox senza affidarsi a un carattere checkmark nel font fornito

La /Opt nativa conserva il valore di export XFA; l'export riservato Off e gli export che iniziano con XFAOn ricevono alias di stato attivo senza collisioni, mentre le loro stringhe di export reali restano invariate in /Opt

I membri radio condividono un parent nativo per percorso exclusion-group del template e percorso data-context nativo; i gruppi ripetuti ricevono /Kids, /V, /Opt e stati /AS dei widget indipendenti anche quando i nomi dei gruppi visualizzati sono identici

Export uguali dentro un gruppo radio impostano RadiosInUnison e attivano ogni membro corrispondente; la policy di modifica document-wide e l'accesso all'exclusion-group determinano il flag readOnly del parent

Il layout tb e lr-tb degli exclusion-group viene dispatchato con lo scope dati nativo corrente, e gli exclusion-group posizionati applicano la propria origine x/y ai loro membri

Persistenza runtime e preparazione

Letture e assegnazioni rawValue degli exclusion-group partecipano alla transazione nativa di evento esistente, bindando celle, sincronizzazione form/dati e rollback; l'XDP runtime salvato può essere passato direttamente al creatore automatico

La fixture di collaudo muta la seconda combo ripetuta, checkbox ed exclusion group, legge il gruppo attraverso il suo alias dati immediatamente, salva l'XDP e verifica in modo indipendente i valori, stati e aspetti PDF risultanti preservando la prima istanza

Tutti i fallimenti di preparazione del candidato preservano byte, lunghezza e posizione della destinazione; array di opzioni choice, nomi dei campi, export boolean, conteggi widget, allocazioni del grafo e testo di aspetto aggregato conservano i limiti di risorse esistenti

Il fallimento I/O della destinazione conserva il confine caller-stream descritto in Creazione automatica XFA

Lavoro residuo sui consumatori

Caption ricche, dimensionamento delle caption con wrapping, stili di outline per bordo e riempiti, commit successivi dello stato dei widget, scrolling interattivo successivo delle list, ambiguità solo-valore per export contenenti interruzioni di riga, layout avanzati degli exclusion-group e campi firma restano lavori di integrazione separati

I metadati choice documentano gli hint additivi delle callback usati da questi consumatori nativi