Automatiske XFA native graphics og billeder

Unit: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF forbruger rektangel-, linje-, bue- og inline billeddraw-callbacks direkte fra XDP sammen med de eksisterende tekst- og widget-consumers

Hvert draw producerer et nativt Form XObject placeret på den faktiske layoutsider; billeddraws indeholder rigtige Image XObjects og alpha soft masks efter behov

Vektorpaths

Rektangler bruger native PDF rektangel-paths, linjer bevarer skråstreg eller backslash-hældning, og elliptiske buer bruger kubiske segmenter på højst 90 grader

Den første effektive edge leverer RGB stroke-farve og -tykkelse, inklusive underpoint-bredder; stroke appearance-beggrundskanter inkluderer halv tykkelse, så formen ikke clipper sin egen kant

Buer forbruger startAngle og signed sweepAngle med en standard fuld omdrejning og maksimal absolut sweep på 360 grader

Draw rotation-, skala- og translationshints anvendes én gang i en finitær affin placering omkring draw-centret med mod uret positiv rotation; top-venstre XFA-koordinater konverteres én gang til den native PDF-origin

PNG og JPEG

FormatFaktisk native forbrug
PNG grayscale1, 2, 4, 8 og 16-bit samples, hvor pakkede samples udvides til 8 bits, og 16-bit præcision beholdes
PNG RGB8- og 16-bit farvesamples
PNG indexed color1, 2, 4 og 8-bit indeks udvidet gennem paletten til RGB-samples
PNG transparencyGrayscale- og RGB-transparente samples, palette-alpha samt 8- eller 16-bit grayscale-alpha og RGBA; rigtige /SMask-streams bevarer alpha-præcision
PNG filtering og interlaceAlle fem PNG rækkefiltre og Adam7-gennemløb valideret gennem de delte native zlib- og predictor-implementeringer
JPEG8-bit baseline og progressiv grayscale, RGB- og CMYK-frames valideret med den delte native JPEG-dekoder, før den originale /DCTDecode-stream bevares

PNG chunk-kontrolsummen, rækkefølge, dimensioner, paletteindeks, transparente sample-intervaller og eksakt dekomprimeret længde tjekkes, før en kandidat committeres; afklippet eller overskydende komprimeret data fejler forberedelsen

JPEG frame-dimensioner skal være enige med rigtig native dekodning, og Adobe CMYK-inversion erklæres eksplicit i billed dictionaryen

JPEG kræver den eksisterende native TurboJPEG-runtime; HOTPDF_TURBOJPEG_LIBRARY kan identificere en absolut bibliotekssti med afhængige biblioteker fundet af operativsystemet

Billedaspekt understøtter fit, none, width, height og actual; PNG pHYs og JPEG JFIF-tæthed bestemmer fysisk pixelstørrelse med 96 dpi brugt, når der ikke findes en brugbar tæthed

Skalerede billeder centreres og clips til XFA draw-rektanglet; alpha-komposition forbliver en native PDF-reader-operation

Grænser og transaktion

Encodede billedbytes, dekodede arbejdsbuffere og rå billed- eller alphastreams er afgrænsede inden allokering; native objektgrænser samt samlede billed- og fontstream-grænser forbliver aktive

Cancellation tjekkes under parsing af chunkser, inflating af data, dekodning af rækker og placering af native objekter; den eksisterende native JPEG-dekoder modtager kalder-tokenet

Forberedelsesfejl bevarer destinationsposition, længde og bytes; den endelige destinations WriteBuffer følger kalder-streamens egen I/O-semantik

Aktuelle grænser

Udfyldte former, hjørnestyling, kant-specifikke kanter, stregmønstre, stregkoder, ekstern billedtransport, imageEdit-widgets, alternative billedformater, indlejrede farveprofiler og Exif-orientering kræver stadig yderligere consumer-integration

Animeret PNG forbruges som sit default statiske billede; fremmed XML exData forbliver en separat feature, og denne draw-adapter afvikler ikke vilkårlige indlejrede objekter

Accept

Tests/Linux/Build-XFAHeadlessGraphicFixtures.py producerer deterministiske rækkefilter-, Adam7-, sample-præcisions-, gennemsigtigheds-, fysisk-aspekt-, JPEG- og misdannede protokol-fixtures

Tests/Linux/XFAHeadlessGraphicsTests.pas skriver og genåbner rigtige native PDF'er og verificerer kalder-bevaring ved fejl; Verify-XFAHeadlessGraphics.py tjekker uafhængigt dekodede billedsamples, /SMask-præcision, vektoroperatorer, placering og renderede pixels med pypdf og MuPDF

Automatisk XFA native PDF-oprettelse beskriver de eksisterende felt- og tekst-consumers samt de public options- og resultat-API'er