Création de choix et de Booléens XFA automatique
Unité : HPDFXFAHeadless
HPDFXFAWriteHeadlessPDF consomme la mise en page XFA réelle et construit les champs de choix, les widgets checkbox et les parents et membres radio sans slots PDF préparés
Champs de choix
Les champs combo et list utilisent des dictionnaires natifs /FT /Ch ; les listes d'affichage et de sauvegarde XFA séparées deviennent des paires export/display /Opt, préservant l'Unicode, les délimiteurs, les exports vides explicites, les items scalaires typés et l'espacement d'export environnant
Un combo éditable conserve sa valeur de texte libre ; un choix non éditable exige que l'export sélectionné existe dans sa liste d'options
Les valeurs multi-sélection sont des exports XFA séparés par des sauts de ligne et deviennent un tableau natif /V ordonné et des indices /I correspondants dans l'ordre des options ; les valeurs sélectionnées dupliquées sont rejetées pendant la préparation
Le scripting d'éléments de choix préserve les indices explicites exacts pour les exports dupliqués et vides à travers le XDP enregistré, si bien que leurs tableaux /I PDF, valeurs /V exportées et apparences d'étiquettes d'affichage restent non ambiguës
La validation des sélections dupliquées compare des chaînes exactes sans réordonner la liste de sélection rédigée ; un tri par tas d'index remplace les comparaisons de paires quadratiques et vérifie l'annulation pendant toute la validation d'unicité
Le texte d'apparence des choix utilise les labels d'affichage, tandis que /V utilise les valeurs d'export ; les apparences de list contiennent une fenêtre visible mesurée avec la première sélection, un index /TI exact du haut et des surlignages relatifs de lignes sélectionnées tout en conservant le graphe d'options complet
Les flags natifs combo, edit, multi-select, selection-commit et readOnly utilisent des tokens entiers PDF exacts pour qu'un bit de flag haut ne puisse pas effacer le bit readOnly
États de checkbox et de radio
Les checkboxes contiennent de véritables Form XObjects d'états Off et on ; les styles et captions Booléens consomment les véritables formes de marqueurs, la taille, les contours d'UI, les couleurs de champs, les captions Unicode scalaires et les troisièmes états de checkbox sans dépendre d'un caractère de coche dans la police fournie
Le /Opt natif conserve la valeur d'export XFA ; l'export réservé Off et les exports commençant par XFAOn reçoivent des alias d'états actifs sans collision, tandis que leurs chaînes d'export réelles restent inchangées dans /Opt
Les membres radio partagent un parent natif par chemin de exclusion-group de template et par chemin de contexte de données natif ; les groupes répétés reçoivent des états /Kids, /V, /Opt et /AS de widgets indépendants même quand leurs noms de groupes affichés sont identiques
Des exports égaux dans un même groupe radio activent RadiosInUnison et activent chaque membre correspondant ; la politique d'édition au niveau du document et l'accès du exclusion-group déterminent le flag readOnly du parent
La mise en page tb et lr-tb des exclusion-groups est distribuée avec le scope de données natif courant, et les exclusion-groups positionnés appliquent leur propre origine x/y à leurs membres
Persistance runtime et préparation
Les lectures et affectations de rawValue des exclusion-groups participent à la transaction d'événements native existante, aux cellules de binding, à la synchronisation formulaire/données et au rollback ; le XDP runtime enregistré peut être passé directement au créateur automatique
La fixture d'acceptation mute le deuxième combo, checkbox et exclusion-group répétés, lit le groupe via son alias de données immédiatement, enregistre le XDP et vérifie indépendamment les valeurs, états et apparences du PDF résultant tout en préservant la première instance
Tous les échecs de préparation de candidats préservent les octets, la longueur et la position de destination ; les tableaux d'options de choix, les noms de champs, les exports Booléens, les comptes de widgets, les allocations de graphes et le texte d'apparences global conservent les limites de ressources existantes
Un échec d'I/O de destination conserve la frontière de stream de l'appelant décrite par la création XFA automatique
Travail de consommateur restant
Les captions riches, le dimensionnement des captions renvoyées à la ligne, les styles de contours par edge et remplis, les validations ultérieures d'états de widgets, le scroll interactif ultérieur de list, l'ambiguïté des lignes vides en multi-sélection, les méthodes dynamiques d'items de choix, les mises en page avancées d'exclusion-groups et les champs de signature restent un travail d'intégration séparé
Les métadonnées de choix documentent les indications de callbacks additives utilisées par ces consommateurs natifs