Automatic XFA native PDF creation

Unit: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF creëert een verse native PDF rechtstreeks vanuit XDP-bytes en een door de applicatie geleverd TrueType-font, zonder invoer-PDF of voorbereide veldslots

De adapter consumeert de bestaande XFA-binding-, herhaalde-instance- en paginerings-layout-callbacks en bouwt native pagina- en AcroForm-objectgrafen met echte embedded-font-appearance-streams

Tekst-, numerieke, datum- en password-velden, pushbuttons, combo- en lijst-choices, checkbox- en radiogroepen, statische tekst-, rechthoek-, lijn-, boog- en inline PNG- of JPEG-image-draws worden geconsumeerd; signatures en extra draw-consumers vragen verdere adapter-integratie

Choice and boolean creation behoudt aparte display- en exportwaarden, editable- en multi-select-gedrag, native appearance-statussen en onafhankelijke herhaalde radiogroepen

Boolean styles and captions consumeert echte vector-markeringen, grootte, outline-kleuren en -dikte, Unicode-caption-regio's en derde checkbox-statussen

Native graphics and images consumeert echte vector-paden, PNG-sample-formaten en transparantie, baseline- of progressive JPEG, fysieke aspect en affiene plaatsing

Wachtwoorden gebruiken een gemaskeerde appearance terwijl de native veldwaarde behouden blijft; document-breed Editable en effectieve XFA readOnly-toegang bepalen native veldvlaggen

XFA-puntcoördinaten gebruiken een top-left-oorsprong en worden één keer geconverteerd naar native widget-rechthoeken en draw-vertalingen; aparte herhaalde occurrences ontvangen distincte native veldnamen vanuit de layout-engine

Native /AP-, /DR- en /DA-resources worden gegenereerd met het meegeleverde font en effectieve grootte, kleur en uitlijning; het meegeleverde face wordt voor elk veld gebruikt, dus typeface-selectie en meerdere stijlfaces zijn applicatieverantwoordelijkheden in deze fase

Gebruik TXFAWidgetRuntime om lifecycle- of interactie-events uit te voeren en de resulterende XDP op te slaan vóór creatie wanneer het document die events nodig heeft; de ScriptOptions van de adapter sturen de calculate- en validate-verwerking van de flatten-engine

Preparatie en limieten

TXFAHeadlessPDFOptions klemt XDP- en fontbytes, uitvoer- en objectbytes, object- en pagina-aantallen, velden en geaggregeerde UTF-16-glyph-units af

Object-, pagina- en glyphbudgetten worden gecheckt vóór de bijbehorende allocaties; embedding-checks begrenzen geaggregeerde font- en image-streams, image-decoders begrenzen diens working-buffers, en native serialisatie handhaaft object- en complete candidate-byte-limieten

Annulering wordt gecheckt gedurende graafcreatie, appearance-generatie en serialisatie; alle preparatiefalen laten de positie, lengte en bestaande bytes van de destination-stream ongewijzigd

De complete candidate wordt in geheugen voorbereid vóór één WriteBuffer-aanroep naar de destination; destination-I/O-fouten propagateren en kunnen partiele writes achterlaten volgens het stream-gedrag van de aanroeper

De uitvoer is een nieuw niet-getekend document; het behouden van geïmporteerde encryptie, bestaande signatures en bronrevisies hoort bij de native document-import- en revisie-API's

Acceptatie

Tests/Linux/XFAHeadlessCreationTests.pas produceert echte herhaalde, gepagineerde en document-breed read-only documenten, een event-gemuteerd opgeslagen-XDP-document en een gestijld Unicode-draw-document zonder een reader-UI te openen

Tests/Linux/Verify-XFAHeadlessCreation.py verifieert onafhankelijk native waarden, veldvlaggen, pagina-eigendom, /AP- en embedded font-resources met pypdf, en echte tekst en gerenderde appearance-pixels met MuPDF

Tests/Linux/XFAHeadlessChoiceTests.pas en Verify-XFAHeadlessChoice.py voegen echte choice-waarden en -vlaggen, radio-ouders en herhaalde scope-identiteiten, gereserveerde export-statussen, runtime save/reload en rollback en gerenderde selectie-pixels toe

TXFAHeadlessPDFResult rapporteert de echte native graaf- en serialisatie-aantallen