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