Indfødt RAD Studio pasform
Brug velkendte Delphi og C++Builder projekter, pakker, strømme, formularer og tegnemønstre i stedet for at pakke en separat PDF-motor ind
HotPDF 2.200.2 til Delphi og C++Builder
HotPDF gør det muligt for VCL-applikationer at oprette, ændre, sikre, signere, optimere, importere, komprimere og gemme PDF-dokumenter direkte fra Delphi- eller C++Builder-kode, uden at implementere en ekstern PDF-runtime
HotPDF er et PDF-komponentbibliotek på kildekodens niveau til Delphi og C++Builder; det er bygget til skrivebordssoftware, der har brug for deterministisk PDF-output, direkte sidetegning, stærk RAD Studio integration og kompakt udrulning
Komponenten dækker hverdags PDF-generering, avanceret dokumentsamling, PDF-redigering, billedtungt output, formularer, annoteringer, kryptering, signeringsarbejdsgange, skrifttypeoptimering og strømbaserede arbejdsgange fra én enkelt indfødt API-overflade
Seneste udgivelser af biblioteket har udvidet HotPDF fra en klassisk PDF-skriver til et bredere indfødt PDF-værktøjssæt, der dækker versionsspecifik PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7 funktionsstyring, udvalgt PDF 2.0 kryptering, overensstemmelse med standarderne PDF/A-1 / -2 / -3 + PDF/X-1a / -3 / -4 + PDF/UA-1, PAdES baseline / extended / long-term-validation digitale signaturer, en in-process PFX / PKCS#12 signeringspipeline, der ikke afhænger af OpenSSL eller eksterne indfødte binære filer, lagring af inkrementelle opdateringer, CFF / OpenType / CID-keyed CFF skrifttype-subsetting samt PDF-eksportadaptere til FastReport, QuickReport, ReportBuilder og DevExpress ExpressPrinting, der ruter deres eksisterende rapporter gennem HotPDF som en enkelt PDF-backend; en Direct File API behandler multi-gigabyte, million-objekt PDF'er fil-til-fil - sideantal, kopier, omskrivning af dokumentoplysninger samt AES-256 kryptering eller dekryptering - på få sekunder; indlæseren genopretter nu også dokumenter pakket ind i transportcontainere med forældede forskydninger samt inkrementelt opdaterede filer med forældreløse eller erstattede objekter
v2.119.32-51 cyklussen tilføjede producent-side arabisk / persisk / urdu formning (LAM-ALEF obligatorisk ligatur, Arabic Presentation Forms-A 9 bogstaver), en funktionskomplet OpenType GSUB substitutionsmotor, der dækker alle LookupType 1-8 med Script / LangSys valg og TTF subsetter lukning for erstatningsglyffer, understøttelse af XFA (XML Forms Architecture) containere (AddXFAPacket / ClearXFAPackets / XFAPacketCount), en AcroForm /AA /K + /F + /V + /C formularfelt-triggerfamilie, multi-Unicode /DR skrifttyperegistrering via RegisterAcroFormFont, tilgængelighedsegenskabs-settere for strukturelementer (/Lang / /E / /T) med en Tabel 333 standard strukturtype-enum og AddStructureElement typebestemt overload samt marked-content sekvensegenskaber på BeginTaggedContent
v2.119.52-68 cyklussen lukkede Fase 8 automatiske formningspipeline og udvidede skrifttype-dækningen: Arabic Extended-A (inklusive U+0750-077F Arabic Supplement og U+08A0-08FF Arabic Extended-A) og persisk / urdu Form-B blev udvidet til hele tabellen for joining-klassen U+0672-06D5 plus 26 nye Forms-A mapninger med post-pass foldning for LAM-ALEF, YEH-HAMZA + vokalpar (8 ligaturer i U+FBEA-FBFB), den selvstændige Allah ligatur (U+FDF2) samt den 22-kodepunkts Bismillah sætning (U+FDFD); den nye opt-in ShapingFeatures egenskab + THPDFShapingFeature enum (sfArabicGSUB / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) får producenten til automatisk at udsende GSUB-drevne skrifttypespecifikke rlig / liga / clig / rclt erstatninger, hvor Latin Standard Ligatures (ff / fi / fl / ffi / ffl / ſt / st via U+FB00-FB06) og Devanagari Indic stavelses-reorganisering (Repha + præ-base I-matra) tilslutter sig den samme pipeline; nye metoder til formningskapacitet for syrisk (GetSyriacJoiningClass / GetSyriacPosition), mongolsk (GetMongolianJoiningClass / GetMongolianPosition) og Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) lader kalderne køre ikke-arabiske komplekse skrifter gennem den samme GSUB-motor; GetCodepointAdvance afslører den cachede /W em-fraktion til linjeskift-beregninger, og AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID lader producenten udsende enhver GSUB erstatnings-GID (Devanagari klyngeformer, stilistiske alternativer, CJK variationssekvenser) gennem Private-Use-Area kodepunkter med fuld integration af /CIDToGIDMap + /ToUnicode + /W; kumulativ ToUnicode CMap leverer nu 35 ligatur-reversmapnings-poster (8 LAM-ALEF + 18 YEH-HAMZA familien + 1 Allah + 1 Bismillah + 7 latin), så forbruger-læser kopiering / indsættelse producerer kilde-kodepunkterne; dokumentationsskeletter til ChangeLog leveres nu på 11 sprog (EN / CN / AR / DE / ES / FR / IT / JA / KO / PT / RU) med en brugergrænseflade til sprogvalg; opbevaringsgrænsen for ChangeLog blev hævet fra 250 til 500 versionsafsnit
v2.152-v2.190 cyklussen opbyggede en komplet OpenType GPOS positioneringsmotor og udvidede dækningen af komplekse skrifter; opt-in formningsmuligheder anvender nu skrifttypens egen knibning (par, kontekstuel og højre-til-venstre), placering af kombinationsmærker (mærke-til-base, mærke-til-mærke og mærke-til-ligatur pr. komponent), cursive forbindelsesankre og lodret knibning for lodret tekst, alt skrevet som standard PDF-tekstoperatorer, så enhver læser gengiver det samme resultat; producent-side formning dækker nu arabisk (inklusive Supplement, Extended-A og Extended-B blokke), syrisk, mongolsk, N'Ko, Adlam, Hanifi Rohingya, tibetansk konsonantstabling, Devanagari og de andre indiske skrifter gennem skrifttypens indiske funktionskæde, javansk, thai og lao markeringsrækkefølge, hebraisk vokalpunkt-rækkefølge, khmer, myanmar, tai viet og meetei mayek; en familie af valgfrie OpenType typografifunktioner - standard, diskretionære og historiske ligaturer, kapitæler, oldstyle / lining / proportionelle / tabellariske tal, hævede, sænkede, ordinaltal, brøker, videnskabelige sænkede tal, tællere, nævnere, stilistiske og kontekstuelle alternativer, lokaliserede former, store/små bogstaver-følsomme former, nul med skråstreg samt lodrette alternativer - kan anvendes automatisk under tekstoutput; kopiering, indsættelse og tekstsøgning gendanner de oprindelige tegn på tværs af alt formet output, inklusive ligaturer og kædede funktionserstatninger; skrifttypeoutput blev også mindre: indlejrede skrifttypeprogrammer er altid Flate-komprimerede, en skrifttype brugt på flere sider indlejres én gang pr. dokument, subset-tags udledes deterministisk for reproducerbart output, og en valgfri kompakt tilstand skriver almindelig ASCII-tekst med standardskrifttyper som uindlejret WinAnsi-tekst
HotPDF inkluderer versionsspecifik understøttelse af de praktiske PDF 1.3, PDF 1.4, PDF 1.5, PDF 1.6 og PDF 1.7 oprettelsesfunktioner, der bruges af forretnings-, billedbehandlings-, forlags- og dokumentautomatiseringsapplikationer; offentlige API'er kontrolleres mod den valgte PDF-version, så genererede filer undgår nyere poster, når der kræves streng kompatibilitet
Den aktuelle matrix dækker filtre og prædiktorer, XRef-strømme, inkrementelle opdateringskæder, AES-kryptering, offentlig nøgle-sikkerhed, DeviceCMYK og ICCBased farver, flisemønstre, aksiale/radiale/multi-stop skyggelægninger, inline-billeder, lag, gennemsigtighedsgrupper, sideovergange, annoteringer, AcroForm-widgets, eksterne signerings-hooks, XMP-metadata, taggede PDF-strukturtræer, OutputIntents, produktionssidebokse, ViewerPreferences, UserUnit, fanerækkefølge samt skrifttype-indlejring/subsetting for TrueType, Type 3, CFF, OpenType-CFF og CID-keyed CFF skrifttyper
Dette is en bred standardbevidst dækning af HotPDF's understøttede oprettelsesoverflade, ikke et generelt krav om, at ethvert grænsetilfælde i ISO 32000-1 er implementeret
Brug velkendte Delphi og C++Builder projekter, pakker, strømme, formularer og tegnemønstre i stedet for at pakke en separat PDF-motor ind
Byg PDF'er med formularer, annoteringer, lag, gennemsigtighed, sideovergange, tagget struktur, kryptering, signerings-pladsholdere og inkrementelle opdateringer
Reducer PDF-størrelsen med zlib-ng komprimering, libjpeg-turbo billedbehandling, TrueType-subsetting, OpenType-CFF-subsetting og CID-keyed CFF understøttelse af store CJK skrifttyper
Funktionerne nedenfor er stærke tekniske differentiatorer for HotPDF i forhold til typiske Delphi PDF-komponenter; de fleste konkurrerende kommercielle komponenter mangler enten disse funktioner fuldstændigt eller er væsentligt svagere i produktionen; hver række kortlægger en verificerbar implementering og en offentlig API-overflade i biblioteket
En komplet GSUB substitutionsmotor, der dækker alle LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual), parret med en GPOS positioneringsmotor, der dækker alle 9 LookupTypes (parvis / enkelt / kontekstuel knibning, mærke-til-base, mærke-til-mærke, mærke-til-ligatur pr. ligaturkomponent, cursiv tilslutning, afstand, lodret vkrn/vpal); al positionering udsendes med standard PDF-tekstoperatorer, så alle læsere gengiver det identisk
20+ skrifter formet på producent-siden, drevet af skrifttypens egen GSUB-funktionskæde: arabisk (inkl. Supplement / Extended-A / Extended-B), syrisk, mongolsk, N'Ko, Adlam, Hanifi Rohingya, tibetansk stabling, Devanagari og den indiske familie, javansk, thai / lao markeringsrækkefølge, hebraisk vokalrækkefølge, khmer, myanmar, tai viet, meetei mayek; output bærer fuld /ToUnicode reverse-mapning, så kopiering / indsættelse gendanner de oprindelige kodepunkter
ASN.1, RSA, AES, PKCS#12 udpakning og CMS SignedData (RFC 5652) er alle implementeret inde i HotPDF; SignPDFWithPFX signerer en pladsholder-PDF i ét kald uden OpenSSL-runtime og uden platformskryptoudbyder - hele signeringskæden lever i din proces, er reproducerbar, auditerbar, og der skal implementeres nul indfødte binære filer
Arbejdsgangene PAdES B-B, B-T, B-LT og B-LTA er fuldt dækket: RFC 3161 tidsstempler, DSS / VRI long-term-validation ordbøger, dokumenttidsstempelsignaturer, Seed Value begrænsninger samt XAdES-i-PDF; dette er det strenge krav til EU eIDAS-kompatible elektroniske signaturer, hvor de fleste konkurrerende komponenter stopper ved grundlæggende CMS-signering
Uafhængig profil-gating for PDF/A-1/-2/-3, PDF/X-1a/-3/-4 og PDF/UA-1 samtidigt - ikke-overensstemmende kald udløser diagnostiske undtagelser i stedet for at skrive ikke-kompatible PDF-filer i baggrunden; CreatePreflightReport udsender tekst / JSON / HTML / CSV-rapporter med INI-profiler, indbyggede forudindstillinger, batch-aggregering og indlejring af XMP-beviser, valideret ende til ende mod veraPDF
Operater på PDF-filen på disken uden at opbygge objektgrafen i hukommelsen; på et dokument på 2 GB med 1,67 million objekter: AES-256 kryptering ~14 s, dekryptering ~16 s, fuld omskrivning ~6 s; læsning af sideantallet for et dokument på 1,25 GB tager millisekunder; klassiske xref-tabeller, XRef-strømme, hybrid-referencefiler og inkrementelt opdaterede dokumenter forbliver alle på den direkte sti
TrueType, OpenType-CFF og CID-keyed CFF skrifttyper kan alle subsettes, mens glyf-id'er bevares for Type0 / Identity-H tekst; CJK-dokumenter, der tidligere indlejrede 14 MB CID-keyed CFF programmer, sendes nu på 500 KB - 2 MB uden tab af gengivne glyffer; indlejrede skrifttypeprogrammer er altid Flate-komprimerede, flersidede skrifttyper indlejres én gang pr. dokument, og subset-tags er deterministiske for reproducerbart output
THPDFLogger + den globale HPDFLog giver en runtime-skiftbar diagnostisk facade: Error / Warning / Info / Debug alvorsgradsfiltrering, samtidige fil- + OutputDebugString + konsolmål, trådsikker, 10 MB enkelt-backuproll-over, nul-overhead deaktiveret hurtig-sti; LoadFromFile, preflight-rapporter og objekt-strøm fallback-sti er allerede forbundet med strukturerede diagnostik-kald, der kan slås til og fra under afvikling uden at genbygge - en operationel egenskab, som de fleste konkurrerende komponenter mangler fuldstændigt
Drop-in PDF-backends til FastReport (TfrxHotPDFExport), QuickReport (TQRHotPDFExportFilter), ReportBuilder (TppHotPDFDevice) og DevExpress ExpressPrinting (dækker cxGrid / cxRichEdit / cxScheduler / cxPivotGrid); eksisterende rapportlayouts bliver ved med at fungere - kun PDF-emitteren udskiftes
Disse er leverede funktioner, ikke løfter om fremtidige planer; hvert emne ovenfor er implementeret i det aktuelle bibliotek, kompilerer fejlfrit og består DUnitX test samt ende-til-ende veraPDF validering; når du evaluerer konkurrerende komponenter, så bed om bevis for fuld GSUB/GPOS LookupType dækning, en in-process PAdES B-LTA kæde og målt multi-gigabyte krypteringsydelse
StrictVersionLockFamilien af DAOpenFileReadOnly / DACopyFile / DASetDocumentInfo / DASaveAsFile og fil-til-fil EncryptFile / DecryptFile kald fungerer direkte på PDF-filen i stedet for at opbygge objektgrafen i hukommelsen; på et benchmark-dokument på 2 GB med 1,67 millioner objekter tager AES-256 kryptering cirka 14 sekunder, dekryptering cirka 16 sekunder og en fuld omskrivning cirka 6 sekunder; åbning af et dokument på 1,25 GB for at hente sideantallet tager millisekunder; klassiske tabeller, krydsreferencestrømme, hybrid-referencefiler og inkrementelt opdaterede dokumenter forbliver alle på den direkte sti
CreatePreflightReport og CreatePreflightReportWithProfile auditerer en PDF mod de understøttede PDF/A-, PDF/X- og PDF/UA-kontroller og udsender tekst-, JSON-, HTML- eller CSV-rapporter med profiler i INI-stil for at undertrykke accepterede resultater - klar til CI-porte og batch-dokumentindtag; PreflightCLI demoen tilføjer rekursive mappekørsler og samlede dashboards
HasFormFields og FormFieldExists besvarer formularspørgsmål om en indlæst PDF, før den berøres, feltværdier kan læses og skrives efter indeks eller navn, og FlattenFormFields brænder interaktive AcroForm-felter ind i sideindholdet og rapporterer, hvor mange felter den fladede ud - sammen med XFA-til-AcroForm-udfladningen, der holder XFA-formularer brugbare i enhver læser
THotPDF.SignPDFWithPFX(InputPDF, OutputPDF, PFXFile, Password) signerer en eksisterende pladsholder-PDF i et enkelt kald; hele stakken for ASN.1, RSA, AES, PKCS#12 og CMS SignedData (RFC 5652) er implementeret inde i HotPDF, så der kræves ingen OpenSSL-runtime eller platformskryptoudbyder
Arbejdsgangene PAdES B-B, B-T, B-LT og B-LTA er dækket ende til ende: oprettelse af signatur med RFC 3161 tidsstempler, DSS / VRI long-term-validation ordbøger, dokumenttidsstempelsignaturer og Seed Value begrænsninger; XAdES-i-PDF og håndhævelse af signatur-seed-value er en del af den samme overflade
HotPDF styrer funktionsmetoder mod PDF/A-1 / -2 / -3, PDF/X-1a / -3 / -4 og PDF/UA-1 profiler; kald, der ville bryde den valgte profil (gennemsigtighed i PDF/A-1, JavaScript i PDF/A, eksterne annoteringer i PDF/X, utagget struktur i PDF/UA), udløser diagnostiske undtagelser i stedet for i stilhed at producere ikke-overensstemmende PDF'er
Drop-in PDF-backends til de fire mest almindelige Delphi rapportmotorer: TfrxHotPDFExport (FastReport 4 / FastReport VCL), TQRHotPDFExportFilter (QuickReport), TppHotPDFDevice (ReportBuilder) og dxHotPDFExportReportLinkToFile/Stream (DevExpress ExpressPrinting System, der dækker cxGrid / cxRichEdit / cxScheduler / cxPivotGrid); eksisterende rapporter fortsætter med at fungere - kun PDF-emitteren udskiftes
Opt-in tekstpositionering drevet af skrifttypens egne GPOS-data: parvis og kontekstuel knibning for venstre-til-højre og højre-til-venstre tekst, mærke-til-base, mærke-til-mærke og mærke-til-ligatur pr. ligaturkomponent, cursiv indgangs-/udgangsjustering, afstands-positionering og lodret knibning for lodrette skrifttyper; positionering udsendes med standard PDF-tekstoperatorer, så enhver PDF-læser gengiver det samme resultat
Producent-side formning gengiver korrekt forbundet og reorganiseret tekst for arabisk (inklusive Supplement, Extended-A og Extended-B blokke), syrisk, mongolsk, N'Ko, Adlam, Hanifi Rohingya, tibetansk, Devanagari og de andre indiske skrifter, javansk, thai, lao, hebraisk, khmer, myanmar, tai viet og meetei mayek uden at forlade sig på en fremviser-side formningsmotor; hver skrifttype er en opt-in kontakt, så eksisterende output forbliver byte-identisk, indtil det aktiveres, og kopiering/indsættelse gendanner de oprindelige tegn
Valgfrie formningskontakter anvender automatisk skrifttypens standard, diskretionære og historiske ligaturer, kapitæler, oldstyle / lining / proportionelle / tabellariske tal, hævede, sænkede, ordinaltal, brøker, videnskabelige sænkede tal, tællere, nævnere, stilistiske og kontekstuelle alternativer, lokaliserede former, store/små bogstaver-følsomme former, nul med skråstreg og lodrette alternativer under tekstoutput, med tekstudtrækning kortlagt tilbage til kildetegnene
Indlejrede skrifttypeprogrammer er altid Flate-komprimerede, en skrifttype brugt på flere sider indlejres én gang for hele dokumentet, og subset-tags udledes deterministisk fra de faktisk brugte glyffer, så gentagne kørsler producerer identisk output; en valgfri tilstand skriver almindelig ASCII-tekst med standardskrifttyper som kompakt uindlejret WinAnsi-tekst, hvilket reducerer en side med almindelig tekst fra hundreder af kilobyte til nogle få kilobyte
Producent-side formning folder Unicode-inputkørsler ind i deres Presentation Forms før PDF-tekstudsendelse; arabisk dækker hele tabellen for joining-klassen U+0672-06D5 plus 40+ Forms-A mapninger, med automatisk ligatur post-pass for LAM-ALEF, YEH-HAMZA + vokaler (U+FBEA-FBFB), Allah (U+FDF2) og Bismillah (U+FDFD); kapacitetsoverflader for syrisk (GetSyriacJoiningClass), mongolsk (GetMongolianJoiningClass) og Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) lader kalderne køre ikke-arabiske komplekse skrifter gennem den samme GSUB-motor
Den valgfrie ShapingFeatures egenskab + THPDFShapingFeature enum (sfArabicGSUB / sfCursiveAttachment / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) ophøjer OpenType GSUB og GPOS motorerne til en automatisk producent-side pipeline; indfødt arabisk init / medi / fina / isol, rlig, calt, rclt, GPOS cursiv tilslutning, latin liga / clig samt Devanagari Indic reorganisering sker, efterhånden som teksten udsendes, med fuld /ToUnicode reverse-mapning for rigtighed ved kopiering / indsættelse
Latin Standard Ligatures (ff / fi / fl / ffi / ffl / ſt / st via U+FB00-FB06) udsendes automatisk via ApplyLatinLigatureRefinement, når sfStandardLigatures er aktiveret; for GSUB erstatnings-GID'er uden et naturligt Unicode-kodepunkt - Devanagari klyngeformer, stilistiske alternativer, CJK ideografiske variationssekvenser - tildeler AssignSyntheticCodepointForGID et Private-Use-Area (U+E000-F8FF) kodepunkt med spejlet /CIDToGIDMap + /W + /ToUnicode integration
Enhver OpenType GSUB LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual) is implementeret som en forespørgselsoverflade kun til kapaciteter (GetSingleSubstituteGlyph, ApplyLigatureSubstitution, ApplyContextualSubst, ApplyReverseChainedContextualSubst samt Multiple / Alternate / Script / LangSys / Feature hjælpere); MarkUnicodeGlyphUsed trækker hver erstatningsglyf ind i TTF-subsetteren, så indlejrede skrifttype-subsets forbliver selvstændige
/DRPDF 1.7 §12.7.6 / §12.7.8 XFA containerpakker kører ved siden af (eller i stedet for) statiske /Fields via AddXFAPacket; den fulde triggerfamilie for AcroForm formularfelter (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) er eksponeret som wrapper-metoder, og RegisterAcroFormFont forbinder flere Unicode-skrifttyper til et enkelt AcroForm /DR ressource-ordbog for flersprogede formular-widgets
THotPDF.EnableFontSubsetting subsetter TrueType-, OpenType-CFF- og CID-keyed CFF-skrifttyper, mens glyf-id'er bevares for Type0 / Identity-H tekst; CJK-PDF'er, der tidligere indlejrede 14 MB CID-keyed CFF programmer, sendes nu på 500 KB - 2 MB uden tab af gengivne glyffer
BeginIncrementalUpdate, SaveIncrementalUpdate, MarkDirty og signaturpladsholder-API'erne understøtter PDF-opdateringer, der kun kan tilføjes, og arbejdsgange med flere signaturer uden at omskrive tidligere signerede byte-områder
GetSyriacJoiningClass / GetSyriacPosition), mongolsk (GetMongolianJoiningClass / GetMongolianPosition), Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) - kører den samme GSUB-motor til komplekse ikke-arabiske skrifterShapingFeatures egenskab: sfArabicGSUB anvender indfødt arabisk init / medi / fina / isol plus rlig / calt / rclt for at udsende skrifttypespecifikke kontekstuelle glyf-id'er, sfCursiveAttachment anvender GPOS cursive ankre, sfStandardLigatures / sfContextualLigatures udsender latin liga / clig (FB00-FB06: ff / fi / fl / ffi / ffl / ſt / st), og sfIndicShaping reorganiserer Devanagari klynger (Repha + præ-base I-matra) før udsendelseMarkUnicodeGlyphUsed), Cmap format 12 SMP dækning, GDEF-parsing, ToUnicode CMap auto-udsendelse med 35 ligatur-reversmapnings-poster og et GetUnicodeGlyphForCodepoint opslag til kaldere, der styrer udsendelsen glyf-for-glyfAssignSyntheticCodepointForGID / GetSyntheticCodepointForGID) lader producenter udsende enhver GSUB erstatnings-GID (Devanagari klyngeformer, stilistiske alternativer, CJK ideografiske variationssekvenser) gennem U+E000-F8FF Private Use Area med spejlet /CIDToGIDMap + /W integration; GetCodepointAdvance afslører den cachede /W em-fraktion til linjeskift-beregningervkrn / vpal anvendt på lodret tekstoutputliga / clig / dlig / hlig, kapitæler for smcp / c2sc, talstilarter for onum / lnum / pnum / tnum, sups / subs / ordn / frac / sinf / numr / dnom, salt stilistiske alternativer, calt / rclt kontekstuelle alternativer, locl lokaliserede former, case store/små bogstaver-former, zero nul med skråstreg og vert / vrt2 lodrette alternativer, med kædede erstatninger opløst tilbage til kildeteksten i ToUnicode CMap/AA /K Keystroke, /F Format, /V Validate, /C Calculate) med én wrapper-metode pr. trigger; registrering af multi-Unicode /DR skrifttyper via RegisterAcroFormFont; understøttelse af XFA (XML Forms Architecture) containere (PDF 1.7 §12.7.6 / §12.7.8) med AddXFAPacket / ClearXFAPackets / XFAPacketCount og PDF/A + PDF/X overensstemmelsesporte, plus XFA-til-AcroForm-udfladning (ApplyXFAAsAcroForm for rå XDP-bytes, FlattenLoadedXFA for et indlæst PDF-dokuments indlejrede formular), der forvandler statisk XFA til indfødte AcroForm-felter, styling og sidegrafik, så formularen forbliver synlig og udfyldelig i læsere uden en XFA-motorBeginTaggedContent (/Lang / /Alt / /ActualText / /E), settere af strukturelement-attributter (/Lang / /E / /T), Tabel 333 standard strukturtype-enum (THPDFStandardStructureType) plus en typebestemt AddStructureElement overloadNuværende HotPDF builds bruger zlib-ng i zlib-kompatibel tilstand til den bundtede Flate-backend; sidestrømme, indlejrede skrifttypestrømme, ToUnicode CMaps, Flate-billedstrømme, TIFF-relateret output og FlateDecode-hjælpere rutes gennem HotPDF zlib-laget
Win64x- og diagnostiske MSVC Win64 zlib-ng builds inkluderer runtime CPU-styring til SSE2, SSSE3, SSE4.1, SSE4.2, PCLMULQDQ og AVX2-stier med generiske fallbacks bevaret; Win32 forbliver på det generiske zlib-ng OMF-objektsæt via bcc32c, dens Win32 JPEG- og TIFF-objekter fortsætter med at bruge den klassiske bcc32 OMF-sti
Standard JPEG-arbejdsgange bruger det bundtede libjpeg-turbo 3.1.90 objektsæt via det libjpeg-kompatible API, der eksponeres af HPDFJpeg.pas; de indfødte Win32, Win64 og Win64x builds inkluderer nu de relevante NASM SIMD objektsæt, og den samme indfødte JPEG-backend er tilgængelig for TIFF-integrationslaget til håndtering af JPEG-komprimeret TIFF
C-runtime broen i HPDFCLibs.pas løser nu malloc, free, realloc, calloc, memcpy, memmove og memset via ét Pascal-vendt lag, med 32-byte justeret allokering til SIMD-venlige indfødte buffere
Arkivet indeholder reproducerbare objekt-build-scripts: Lib\thirdparty\build-bcc32.bat, Lib\thirdparty\build-bcc64x.bat og Lib\thirdparty\build-vc64.bat for hele det indfødte C-biblioteksæt, plus zlib-ng-only scripts for fokuserede genopbygninger af komprimering
program HelloHotPDF;
uses
System.SysUtils,
HPDFDoc;
var
PDF: THotPDF;
begin
PDF := THotPDF.Create(nil);
try
PDF.AutoLaunch := False;
PDF.FileName := 'HelloHotPDF.pdf';
PDF.Compression := cmFlateDecode;
PDF.EnableFontSubsetting := True;
PDF.BeginDoc;
PDF.CurrentPage.SetFont('Arial', [], 18);
PDF.CurrentPage.TextOut(50, 50, 0, 'Hello HotPDF');
PDF.EndDoc;
finally
PDF.Free;
end;
end.
Lib: HotPDF kildekodedele, pakkeprojekter, statiske objektfiler samt bundtet tredjepartsbiblioteks-integrationDemo\Delphi: Delphi eksempler til dokumentgenerering, tegning, billeder, sideopsætning, kryptering, flette/redigere arbejdsgange med mereDemo\C++Builder: C++Builder eksempler tilpasset de primære Delphi demo-arbejdsgangeHtmlHelp: produkthjælp og referenceindhold til udviklere