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