HotPDF 2.200.2 til Delphi og C++Builder

Indfødt PDF-generering, redigering, signering, standardbevidst output, skrifttypeoptimering og billedbehandling til RAD Studio applikationer

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

Projektoversigt

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

PDF-standarddækning

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

Hvorfor vælge HotPDF

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

Moderne PDF-funktioner

Byg PDF'er med formularer, annoteringer, lag, gennemsigtighed, sideovergange, tagget struktur, kryptering, signerings-pladsholdere og inkrementelle opdateringer

Kompakt, hurtigt output

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

Konkurrencemæssige fordele

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

Komplet OpenType formning + positionering

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

Kompleks skriftformning på producent-siden

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

In-process signeringsstak, nul eksterne afhængigheder

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

PAdES long-term-validation, ende til ende

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

Tre-akset overholdelse + preflight

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

Multi-gigabyte Direct File API

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

CFF / OpenType-CFF / CID-subsetting

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

Forenet facade for runtime-logning

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

Fire rapportmotor-adaptere

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

Udviklerfordele

  • Kildeorienteret integration holder fejlfinding og udrulning under din kontrol
  • Delte Delphi og C++Builder eksempler gør det nemmere at verificere adfærd i begge sprogstakke
  • Statisk integration af tredjeparts C-biblioteker holder komprimerings- og billedbehandlingsafhængigheder reproducerbare
  • Fokuserede hjælpe-API'er dækker PDF-filtre, FlateDecode, LZW, CCITT, billedmasker, stregkoder, skrifttype-subsetting og arbejdsgange for sideindhold
  • PDF-versionsporte kan automatisk opgradere outputversionen eller gennemtvinge streng PDF 1.3/1.4/1.5/1.6/1.7 overensstemmelse via StrictVersionLock
  • Klar-til-brug Delphi og C++Builder pakkeprojekter dækker nuværende RAD Studio generationer, inklusive 13.1 Florence

Seneste bibliotekshøjdepunkter

Multi-gigabyte Direct File API

Familien 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

Preflight-rapporter

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

Formularværktøjssæt til indlæste dokumenter

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

In-process PFX / PKCS#12 signering

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

PAdES long-term-validation

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

Overensstemmelse med PDF/A, PDF/X og PDF/UA

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

Tredjeparts rapportmotor-adaptere

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

OpenType GPOS positioneringsmotor

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

Dækning af kompleks skriftformning

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

Automatiske OpenType typografifunktioner

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

Kompakt skrifttypeoutput

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

Multi-skrift producentformning

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

Automatisk formningspipeline (Fase 8)

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 + syntetisk PUA-kodepunkt

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

OpenType GSUB substitutionsmotor

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

XFA-formularer + AcroForm-triggere + Unicode /DR

PDF 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

Skrifttype-subsetting og CJK-PDF'er

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

Inkrementel gemning med flere signaturer

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

Avanceret PDF-funktionsdækning

  • Versionsspecifik PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7 + valgte PDF 2.0 API-porte til Catalog, ViewerPreferences, annoteringer, JavaScript, Type0-skrifttyper, ToUnicode-kort, gennemsigtighed, lag og kryptering
  • PDF/A-1 / -2 / -3, PDF/X-1a / -3 / -4 og PDF/UA-1 overensstemmelsesporte, der afviser ikke-overensstemmende funktionskald i stedet for i stilhed at overtræde profilen
  • Taggede PDF-strukturtræer med role-maps, StructParents, ParentTree output og strukturelementer til tilgængeligheds-orienterede arbejdsgange
  • OutputIntents, ICC-profiler, sidebokse, rotation, UserUnit, fanerækkefølge, flisemønstre, ExtGState alpha, blend-modes, halvtoner (Type 1 / 5 / 6 / 10 / 16), overførselsfunktioner og sort-generering / under-farve-fjernelse funktionsreferencer
  • Inline-billeder, multi-stop aksiale gradienter, radiale gradienter, fritformede / gitterformede Gouraud-skyggede trekantmasker, Coons patch- og tensor-produkt-patch-masker, soft-mask-billeder til PNG-stil pr.-pixel alpha samt genanvendelige mønsterudfyldninger
  • Navngivne destinationer, sideminiaturebilleder, omridssstilarter på sideniveau (farve, fed, kursiv), navngivet JavaScript-register på dokumentniveau samt den fulde Line / PolyLine / Polygon ekstrafamilie (billedtekst, linjeafslutninger, hensigt, kant-effekt)
  • Producent-side arabisk formning dækker hele tabellen for joining-klassen U+0672-06D5 plus 40+ statiske Arabic Presentation Forms-A mapninger med post-pass ligaturfoldning for LAM-ALEF, YEH-HAMZA + vokalpar (U+FBEA-FBFB), Allah ligaturen (U+FDF2) og Bismillah sætningen (U+FDFD)
  • Overflader til formningskapacitet for flere skrifter: syrisk (GetSyriacJoiningClass / GetSyriacPosition), mongolsk (GetMongolianJoiningClass / GetMongolianPosition), Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) - kører den samme GSUB-motor til komplekse ikke-arabiske skrifter
  • Automatisk Fase 8 formningspipeline drevet af den valgfrie ShapingFeatures 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 udsendelse
  • Funktionskomplet OpenType GSUB substitutionsmotor (LookupType 1-8) med Script / LangSys valg, TTF-subsetter-lukning (MarkUnicodeGlyphUsed), 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-glyf
  • Udsendelse af syntetisk PUA-kodepunkt (AssignSyntheticCodepointForGID / 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-beregninger
  • OpenType GPOS positioneringsmotor bag opt-in formningskontakter: parvis, enkelt og kontekstuel (Context / Chained Context) knibning for både venstre-til-højre og højre-til-venstre tekst, mærke-til-base / mærke-til-mærke / mærke-til-ligatur placering med nøjagtighed pr. komponent på ligaturer, cursiv indgangs-udgangsforbindelse, afstands-positionering og lodret knibning via vkrn / vpal anvendt på lodret tekstoutput
  • Producent-side kompleks skriftformning for Arabic Supplement / Extended-A / Extended-B, syrisk, mongolsk, N'Ko, Adlam, Hanifi Rohingya, tibetansk stabling, den indiske skriftfamilie via skrifttypens indiske funktionskæde, javansk, thai / lao markeringsrækkefølge, hebraisk vokalpunkt-rækkefølge, khmer, myanmar, tai viet og meetei mayek, hver bag sin egen opt-in kontakt med ToUnicode reverse-mapning for kopiering / indsættelse
  • Automatiske OpenType typografifunktioner under tekstoutput: ligaturer for liga / 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
  • Optimering af skrifttype-indlejring: altid komprimerede indlejrede skrifttypeprogrammer, en indlejret kopi pr. dokument for skrifttyper brugt på flere sider, deterministiske subset-tags for reproducerbart output samt en valgfri uindlejret WinAnsi-tilstand for almindelig ASCII-tekst med standardskrifttyper
  • AcroForm-tekstfelter, listebokse, kombinationsbokse, afkrydsningsfelter, radioknapper, trykknap-handlinger (inklusive udvidet Named / Hide / Show / ImportData / SubmitForm med brugerstyrede /Flags), signaturfelter og genererede udseendestrømme (multi-linje + comb + rich-text Tx + CID-skrifttype /AP)
  • AcroForm triggerfamilie for formularfelter (/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-motor
  • PDF/UA-1 tagget-PDF tilgængelighedsoverflade: §14.8.4 marked-content sekvensegenskaber på BeginTaggedContent (/Lang / /Alt / /ActualText / /E), settere af strukturelement-attributter (/Lang / /E / /T), Tabel 333 standard strukturtype-enum (THPDFStandardStructureType) plus en typebestemt AddStructureElement overload
  • Understøttelse af annoteringer til fremhævninger, fri tekst, links, filvedhæftninger, popups, redigering, vandmærke, rige medier, 3D / U3D / PRC, kantstilarter og tilknyttede kommentar-popups
  • Standard adgangskodesikkerhed, AES-128 / AES-256 sikkerhedshåndterere, PDF 2.0 R6 hashing, certifikationsmodtager offentlig nøgle-kryptering via kalder-leverede PKCS#7 konvolutter samt binær-sikker håndtering af ikke-ASCII farvestof / skrifttypenavne
  • PAdES B-B, B-T, B-LT og B-LTA digitale signaturer med RFC 3161 tidsstempler, DSS / VRI long-term-validation ordbøger, dokumenttidsstempelsignaturer, Seed Value begrænsninger samt XAdES-i-PDF
  • In-process PFX / PKCS#12 signering: biblioteks-bundtet ASN.1, RSA, AES, PKCS#12 og CMS SignedData stak signerer en eksisterende pladsholder-PDF i ét kald uden nogen OpenSSL- eller platformskryptografafhængighed
  • Drop-in PDF-backends til FastReport 4 / FastReport VCL, QuickReport, ReportBuilder og DevExpress ExpressPrinting System, så eksisterende rapportdefinitioner udsendes via HotPDF uden at omskrive rapportlayouts

Højtydende komprimerings- og billedbehandlingsstak

Nuvæ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

Hurtigt Delphi eksempel

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.

Pakkeindhold

Typiske anvendelsesscenarier