Automatisk XFA-skapning av val och booleska fält

Enhet: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF konsumerar den faktiska XFA-layouten och bygger valfält, kryssrutowidgetar samt radioföräldrar och -medlemmar utan förberedda PDF-platser

Valfält

Kombinations- och listfält använder nativa /FT /Ch-dictionary; separata XFA-visnings- och sparlistor blir /Opt-export-/visningspar som bevarar Unicode, avgränsare, explicita tomma exporter, typade skalärobjekt och omgivande export-whitespace

En redigerbar kombobox behåller sitt fritextvärde; ett icke redigerbart val kräver att den valda exporten finns i dess optionslista

Flervalsvärden blir en ordnad nativ /V-array och matchande /I-index i optionsordning; vanlig inmatning med enbart värden använder nyrad separerade exporter och avvisar duplicerade valda värden under förberedelsen

XFA-skriptning av valobjekt bevarar exakta explicita index för duplicerade och tomma exporter genom sparad XDP, så deras PDF /I-arrayer, exporterade /V-värden och appearances med visningsetiketter förblir entydiga

Validering av dubblerade val jämför exakta strängar utan att ordna om den författade vallistan; en heap-sortering av index ersätter kvadratiska parjämförelser och kontrollerar avbrott under hela unikhetervalideringen

Valappearance-text använder visningsetiketter, medan /V använder exportvärden; listappearances innehåller ett uppmätt synligt fönster med det första valet, ett exakt /TI-toppenindex och relativa markeringar av valda rader samtidigt som den kompletta optionsgrafen behålls

De nativa flaggorna combo, edit, multi-select, selection-commit och readOnly använder exakta PDF-heltalstokens så att en hög flaggbit inte kan radera readOnly-biten

Kryssrute- och radiotillstånd

Kryssrutor innehåller verkliga Form-XObjects för Off och på-tillståndet; Boolean-stilar och rubriker konsumerar faktiska markörformer, storlek, UI-konturer, fältfärger, skalära Unicode-rubriker och tredje kryssrutetillstånd utan att förlita sig på ett kryssmarkeringstecken i det levererade teckensnittet

Den nativa /Opt behåller XFA-exportvärdet; den reserverade Off-exporten och exporter som börjar med XFAOn får kollisionsfria alias för aktivt tillstånd, medan deras faktiska exportsträngar förblir oförändrade i /Opt

Radiomedlemmar delar en nativ förälder per mallens exkluderingsgruppsökväg och nativ datasökväg för kontext; upprepade grupper får oberoende /Kids, /V, /Opt och widget /AS-tillstånd även när deras visade gruppnamn är identiska

Lika exporter inom en radiogrupp sätter RadiosInUnison och aktiverar varje motsvarande medlem; dokumentomfattande redigeringspolicy och exkluderingsgruppens åtkomst bestämmer förälderns readOnly-flagga

Exkluderingsgruppens tb- och lr-tb-layout skickas vidare med aktuellt nativt datascope, och positionerade exkluderingsgrupper tillämpar sitt eget x/y-origo på sina medlemmar

Runtime-persistens och förberedelse

Läsning och tilldelning av exkluderingsgruppens rawValue ingår i den befintliga nativa händelsetransaktionen, med bindningsceller, formulär-/datasynkronisering och rollback; sparad runtime-XDP kan skickas direkt till den automatiska skaparen

Godkännandefixturen muterar den andra upprepade komboboxen, kryssrutan och exkluderingsgruppen, läser gruppen via dess dataalias omedelbart, sparar XDP och verifierar oberoende de resulterande PDF-värdena, tillstånden och appearances samtidigt som den första instansen bevaras

Alla misslyckanden med kandidatförberedelse bevarar målets bytes, längd och position; valoptionsarrayer, fältnamn, booleska exporter, widgetantal, grafallokeringar och sammanlagd appearancetext behåller de befintliga resursgränserna

IO-fel mot målet behåller anroparströmsgränsen som beskrivs av Automatisk XFA-skapning

Återstående konsumentarbete

Rich-rubriker, radbruten rubrikstorlekssättning, per-kant- och fyllda konturstilar, senare widgettillståndscommits, senare interaktiv listrullning, tvetydighet för värden med radbrytningar i exporter, avancerade exkluderingsgrupplayouter samt signaturfält återstår som separat integreringsarbete

Valmetadata dokumenterar de additiva callback-tips som dessa nativa konsumenter använder