Automatische XFA-Choice- und Boolean-Erzeugung
Unit: HPDFXFAHeadless
HPDFXFAWriteHeadlessPDF konsumiert das tatsächliche XFA-Layout und konstruiert Choice-Felder, Checkbox-Widgets sowie Radio-Eltern und -Mitglieder ohne vorbereitete PDF-Slots
Choice-Felder
Combo- und Listenfelder nutzen native /FT /Ch-Dictionarys; getrennte XFA-Anzeige- und Speicherlisten werden zu /Opt-Export-/Anzeige-Paaren und bewahren Unicode, Trenner, explizit leere Exporte, typisierte skalare items und umgebenden Export-Whitespace
Ein editierbares Combo behält seinen Freitextwert; eine nicht editierbare Choice verlangt, dass der gewählte Export in ihrer Optionsliste existiert
Multi-Select-Werte sind zeilengetrennte XFA-Exporte und werden zu einem geordneten nativen /V-Array und passenden /I-Indizes in Optionenreihenfolge; doppelte ausgewählte Werte werden während der Vorbereitung abgelehnt
Choice-Item-Scripting bewahrt exakte explizite Indizes für doppelte und leere Exports durch gespeichertes XDP, sodass deren PDF-/I-Arrays, exportierte /V-Werte und Display-Label-Appearances eindeutig bleiben
Die Duplikat-Selection-Validierung vergleicht exakte Strings, ohne die authored Selectionsliste umzuordnen; eine Index-Heap-Sortierung ersetzt quadratische Paarvergleiche und prüft während der gesamten Eindeutigkeitsvalidierung den Abbruch
Choice-Appearance-Text nutzt Anzeige-Labels, während /V Exportwerte nutzt; Listen-Appearances enthalten ein gemessenes sichtbares Fenster mit der ersten Auswahl, einen exakten /TI-Top-Index und relative Hervorhebungen der ausgewählten Zeile, während der vollständige Optionsgraph bewahrt bleibt
Die nativen Combo-, Edit-, Multi-Select-, Selection-Commit- und readOnly-Flags nutzen exakte PDF-Integer-Tokens, damit ein hohes Flag-Bit das readOnly-Bit nicht auslöschen kann
Checkbox- und Radio-Zustände
Checkboxen enthalten echte Off- und On-Zustands-Form XObjects; Boolean-Styles und Captions konsumiert echte Marker-Shapes, Größe, UI-Umrandungen, Feldfarben, skalare Unicode-Captions und dritte Checkbox-Zustände, ohne sich auf ein Häkchen-Zeichen in der gelieferten Schrift zu verlassen
Das native /Opt behält den XFA-Exportwert; der reservierte Off-Export und Exporte mit Präfix XFAOn erhalten kollisionsfreie Active-State-Aliase, während ihre tatsächlichen Export-Strings in /Opt unverändert bleiben
Radio-Mitglieder teilen sich einen nativen Elternknoten pro Template-Exclusion-Group-Pfad und nativem Datenkontext-Pfad; wiederholte Gruppen erhalten unabhängige /Kids, /V, /Opt und Widget-/AS-Zustände, selbst wenn ihre angezeigten Gruppennamen identisch sind
Gleiche Exporte innerhalb einer Radio-Gruppe setzen RadiosInUnison und aktivieren jedes entsprechende Mitglied; die dokumentweite Editier-Policy und der Exclusion-Group-Zugriff bestimmen das readOnly-Flag des Elternknotens
Exclusion-Group-tb- und lr-tb-Layout wird mit dem aktuellen nativen Datenbereich ausgeliefert, und positionierte Exclusion Groups wenden ihren eigenen x/y-Ursprung auf ihre Mitglieder an
Runtime-Persistenz und Vorbereitung
Exclusion-Group-rawValue-Lesezugriffe und -Zuweisungen partizipieren an der bestehenden nativen Ereignistransaktion, binden Zellen, Formular-/Daten-Synchronisation und Rollback; gespeichertes Runtime-XDP kann direkt an den automatischen Creator übergeben werden
Das Abnahme-Fixture mutiert das zweite wiederholte Combo, die Checkbox und die Exclusion Group, liest die Gruppe sofort über ihren Datenalias, speichert XDP und verifiziert unabhängig die resultierenden PDF-Werte, Zustände und Appearances, während die erste Instanz bewahrt bleibt
Alle Kandidaten-Vorbereitungsfehler bewahren Zielbytes, -länge und -position; Choice-Optionsarrays, Feldnamen, Boolean-Exporte, Widget-Zahlen, Graph-Allokationen und aggregierter Appearance-Text behalten die bestehenden Ressourcen-Limits
Ziel-I/O-Fehler bewahren die vom Automatische XFA-Erzeugung beschriebene Aufrufer-Stream-Grenze
Verbleibende Consumer-Arbeit
Rich-Captions, umgebrochene Caption-Größen, per-edge- und gefüllte Umrandungs-Styles, spätere Widget-Zustands-Commits, späteres interaktives Listen-Scrolling, Multi-Select-Leerzeilen-Mehrdeutigkeit, dynamische Choice-Item-Methoden, fortgeschrittene Exclusion-Group-Layouts und Signaturfelder bleiben separate Integrationsarbeit
Choice-Metadaten dokumentieren die additiven Callback-Hinweise, die diese nativen Consumer nutzen