Automatisk XFA native PDF-oprettelse
Unit: HPDFXFAHeadless
HPDFXFAWriteHeadlessPDF opretter en frisk native PDF direkte fra XDP-bytes og en applikationsleveret TrueType-font uden input-PDF eller forberedte feltpladser
Adapteren forbruger de eksisterende XFA binding-, gentaget-instance- og paginerings-layout-callbacks og bygger native side- og AcroForm-objektgrafer med rigtige indlejret-font appearance-streams
Tekst-, numeric-, date- og password-felter, push buttons, combo- og list-choices, checkbox- og radiogrupper, statisk tekst, rektangel-, linje-, bue- og inline PNG- eller JPEG-billeddraws forbruges; signaturer og yderligere draw-consumers kræver yderligere adapterintegration
Choice- og boolean-oprettelse bevarer separate display- og exportværdier, redigerbar og multi-select-adfærd, native appearance-tilstande og uafhængige gentagne radiogrupper
Boolean-styles og captions forbruger rigtige vektor-mærker, størrelse, outline-farver og -tykkelse, Unicode caption-regioner og tredje checkbox-tilstande
Native graphics og billeder forbruger rigtige vektorpaths, PNG sampleformater og gennemsigtighed, baseline- eller progressiv JPEG, fysisk aspekt og affin placering
Adgangskoder bruger en maskeret appearance, mens den native feltværdi beholder; dokumentvid Editable og effektiv XFA readOnly-adgang bestemmer native feltflag
XFA-punktkoordinater bruger en top-venstre-origin og konverteres én gang til native widget-rektangler og draw-translationer; separate gentagne occurrences modtager distinkte native feltnavne fra layoutmotoren
Native /AP-, /DR- og /DA-ressourcer genereres med den leverede font og effektiv størrelse, farve og justering; den leverede face bruges til hvert felt, så typeface-valg og flere style-faces er applikationens ansvar i denne fase
Brug TXFAWidgetRuntime til at afvikle lifecycle- eller interaktionsevents og gemme den resulterende XDP inden oprettelse, når dokumentet kræver de events; adapterens ScriptOptions styrer flatten-motorens calculate- og validate-behandling
Forberedelse og grænser
TXFAHeadlessPDFOptions afgrænser XDP- og font-bytes, output- og objekt-bytes, objekt- og sideantal, felter og samlede UTF-16 glyph units
Objekt-, side- og glyph-budgetter tjekkes inden deres tilsvarende allokeringer; indlejringstjek afgrænser samlede font- og billedstreams, billeddekodere afgrænser deres arbejdsbuffere, og native serialisering håndhæver objekt- og komplette kandidat-byte-grænser
Cancellation tjekkes gennem hele grafoprettelse, appearance-generering og serialisering; alle forberedelsesfejl efterlader destinationsstreamens position, længde og eksisterende bytes uændret
Den komplette kandidat forberedes i hukommelsen før ét WriteBuffer-kald til destinationen; destinations-I/O-fejl propagerer og kan efterlade delvise skrivninger afhængigt af kalderens stream-adfærd
Outputtet er et nyt usigneret dokument; at bevare importeret kryptering, eksisterende signaturer og kilde-revisioner tilhører de native dokumentimport- og revisions-API'er
Accept
Tests/Linux/XFAHeadlessCreationTests.pas producerer rigtige gentagne, paginerede og globalt skrivebeskyttede dokumenter, et event-muteret gemt-XDP-dokument og et stylet Unicode draw-dokument uden at åbne en reader-UI
Tests/Linux/Verify-XFAHeadlessCreation.py verificerer uafhængigt native værdier, feltflag, sideejerskab, /AP og indlejrede fontressourcer med pypdf samt rigtig tekst og renderede appearance-pixels med MuPDF
Tests/Linux/XFAHeadlessChoiceTests.pas og Verify-XFAHeadlessChoice.py tilføjer rigtige choice-værdier og -flag, radio-parents og gentagne scope-identiteter, reserverede export-tilstande, runtime gem/genindlæs og rollback samt renderede markeringspixels
TXFAHeadlessPDFResult rapporterer den faktiske native graf og serialiseringsantal