Automatic XFA native PDF creation

Enheten är HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF skapar en färsk nativ PDF direkt ur XDP-byte och ett applikationstillhandahållet TrueType-typsnitt, utan in-PDF eller förberedda fältplatser

Adaptern konsumerar de befintliga XFA-bindnings-, upprepningsinstans- och pagineringslayoutåteranropen och bygger nativa sid- och AcroForm-objektgrafer med verkliga inbäddat-typsnitt-utseendeströmmar

Text-, numeriska, datum- och lösenordsfält, tryckknappar, combo- och listval, checkbox- och radiogrupper, statisk text, rektangel-, linje-, båg- och inline PNG- eller JPEG-bildritningar konsumeras; signaturer och ytterligare ritkonsumenter kräver vidare adapterintegrering

Choice- och Boolean-skapande bevarar separata visnings- och exportvärden, redigerbart och flervalsbeteende, nativa utseendetillstånd och oberoende upprepade radiogrupper

Boolean-stilar och rubriker konsumerar faktiska vektormärken, storlek, konturfärger och tjocklek, Unicode-rubrikregioner och tredje checkbox-tillstånd

Nativ grafik och bilder konsumerar faktiska vektorsökvägar, PNG-sampelformat och transparens, baseline- eller progressiv JPEG, fysisk aspekt och affin placering

Lösenord använder ett maskerat utseende samtidigt som det nativa fältvärdet behålls; dokumentvid Editable och effektiv XFA readOnly-åtkomst bestämmer nativa fältflaggor

XFA-punktkoordinater använder topp-vänster-ursprung och konverteras en gång till nativa widgetrektanglar och ritöversättningar; separata upprepade förekomster får distinkta nativa fältnamn från layoutmotorn

Nativa /AP-, /DR- och /DA-resurser genereras med det tillhandahållna typsnittet och effektiv storlek, färg och justering; det tillhandahållna ansiktet används för varje fält, så typsnittsansiktets selektion och multipla stilsansikten är applikationens ansvar i detta stadium

Använd TXFAWidgetRuntime för att köra livscykel- eller interaktionshändelser och spara den resulterande XDP:n före skapandet när dokumentet kräver de händelserna; adapterns ScriptOptions styr plattningsmotorns calculate- och validate-bearbetning

Förberedelse och gränser

TXFAHeadlessPDFOptions begränsar XDP- och typsnittsbyte, utdata- och objektbyte, objekt- och sidantal, fält och samlade UTF-16-glyfenheter

Objekt-, sid- och glyfbudgetar kontrolleras före sina motsvarande allokeringar; inbäddningskontroller begränsar samlade typsnitts- och bildströmmar, bildavkodare begränsar sina arbetsbuffertar, och nativ serialisering tillämpar objekt- och completa kandidatbytegränser

Avbrott kontrolleras genom hela grafskapandet, utseendegenerering och serialisering; alla förberedelsefel lämnar destinationsströmmens position, längd och befintliga byte oförändrade

Den completa kandidaten förbereds i minnet före ett enda WriteBuffer-anrop till destinationen; destinations-I/O-fel sprids och kan lämna partiella skrivningar enligt anroparens strömbeteende

Utdatan är ett nytt osignerat dokument; att bevara importerad kryptering, befintliga signaturer och källrevisioner tillhör de nativa dokumentimport- och revisions-API:erna

Acceptans

Tests/Linux/XFAHeadlessCreationTests.pas producerar faktiska upprepade, paginerade och globalt skrivskyddade dokument, ett händelsemuterat sparad-XDP-dokument och ett stiliserat Unicode-ritningsdokument utan att öppna en visar-UI

Tests/Linux/Verify-XFAHeadlessCreation.py verifierar oberoende nativa värden, fältflaggor, sideägarskap, /AP och inbäddade typsnittsresurser med pypdf, samt verklig text och renderade utseendepixlar med MuPDF

Tests/Linux/XFAHeadlessChoiceTests.pas och Verify-XFAHeadlessChoice.py lägger till faktiska choice-värden och flaggor, radioföräldrar och upprepad scope-identiteter, reserverade exporttillstånd, körtidssparande/omläsning och rullering samt renderade valspixlar

TXFAHeadlessPDFResult rapporterar de faktiska nativa graf- och serialiseringsräkningarna