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