Inbyggd RAD Studio-passform
Använd bekanta Delphi- och C++Builder-projekt, paket, strömmar, formulär och ritmönster istället för att omsluta en separat PDF-motor
HotPDF 2.200.2 för Delphi och C++Builder
HotPDF låter VCL-applikationer skapa, modifiera, skydda, signera, optimera, importera, komprimera och spara PDF-dokument direkt från Delphi- eller C++Builder-kod, utan att distribuera en extern PDF-körtidsmiljö
HotPDF är ett PDF-komponentbibliotek på källkodsnivå för Delphi och C++Builder, det är byggt för skrivbordsprogramvara som behöver deterministisk PDF-utdata, direkt ritning på sidor, stark RAD Studio-integration och kompakt distribution
Komponenten täcker vardaglig PDF-generering, avancerad dokumentsammanställning, PDF-redigering, bildtung utmatning, formulär, anteckningar, kryptering, signeringsarbetsflöden, teckensnittsoptimering och strömbaserade arbetsflöden från ett enda inbyggt API-gränssnitt
De senaste biblioteksversionerna utökade HotPDF från en klassisk PDF-skrivare till en bredare inbyggd PDF-verktygslåda som täcker versionsspecifik PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7 funktionskontroll, utvald PDF 2.0-kryptering, överensstämmelse med PDF/A-1 / -2 / -3 + PDF/X-1a / -3 / -4 + PDF/UA-1-standarder, PAdES baseline / extended / long-term-validation digitala signaturer, en in-process PFX / PKCS#12-signeringspipeline som inte beror på OpenSSL eller externa binärer, sparning av inkrementella uppdateringar, CFF / OpenType / CID-keyed CFF-teckensnittsundergrupper samt PDF-exportadaptrar för FastReport, QuickReport, ReportBuilder och DevExpress ExpressPrinting som dirigerar deras befintliga rapporter genom HotPDF som en enda PDF-backend; ett Direct File API bearbetar multi-gigabyte PDF-filer med miljontals objekt fil-till-fil - sidantal, kopior, omskrivningar av dokumentinformation samt AES-256-kryptering eller avkryptering - på några sekunder, och inläsaren återställer nu även dokument inpackade i transportbehållare med föråldrade offsetvärden samt inkrementellt uppdaterade filer med övergivna eller ersatta objekt
Cykeln v2.119.32-51 lade till arabisk / persisk / urdu-formning på tillverkarsidan (LAM-ALEF obligatorisk ligatur, Arabic Presentation Forms-A 9 bokstäver), en funktionskomplett OpenType GSUB-ersättningsmotor som täcker varje LookupType 1-8 med Script / LangSys-val och TTF-undergruppsstängning för ersättningsglyfer, XFA (XML Forms Architecture) behållarstöd (AddXFAPacket / ClearXFAPackets / XFAPacketCount), en AcroForm /AA /K + /F + /V + /C formulärfältsutlösarfamilj, multi-Unicode /DR-teckensnittsregistrering via RegisterAcroFormFont, tillgänglighetsattributinställningar för strukturelement (/Lang / /E / /T) med en Table 333 standardstrukturtypsenum och AddStructureElement typad överlagring samt egenskaper för markerade innehållssekvenser på BeginTaggedContent
Cykeln v2.119.52-68 stängde Phase 8 automatiska formningspipeline och utökade skripttäckningen: Arabic Extended-A (inklusive U+0750-077F Arabic Supplement och U+08A0-08FF Arabic Extended-A) och persisk / urdu Form-B utökades till hela U+0672-06D5 tabellen för föreningsklasser plus 26 nya Forms-A-mappningar, med post-pass-sammanslagning för LAM-ALEF, YEH-HAMZA + vokalpar (8 ligaturer i U+FBEA-FBFB), den fristående Allah-ligaturen (U+FDF2) och Bismillah-frasen på 22 kodpunkter (U+FDFD); den nya opt-in-egenskapen ShapingFeatures + THPDFShapingFeature-enum (sfArabicGSUB / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) gör att tillverkaren automatiskt genererar GSUB-drivna teckensnittsspecifika rlig / liga / clig / rclt-ersättningar, med Latin Standard Ligatures (ff / fi / fl / ffi / ffl / ſt / st via U+FB00-FB06) och Devanagari Indic-stavelseomorganisering (Repha + pre-base I-matra) i samma pipeline; nya formningsförmågametoder för syriska (GetSyriacJoiningClass / GetSyriacPosition), mongoliska (GetMongolianJoiningClass / GetMongolianPosition) och Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) låter anropare driva icke-arabiska komplexa skript genom samma GSUB-motor; GetCodepointAdvance exponerar den cachade /W em-fraktionen för radbrytningsberäkningar, och AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID låter tillverkaren skicka ut alla GSUB-ersättnings-GID (Devanagari-klusterformer, stilistiska alternativ, CJK-variationssekvenser) genom Private-Use-Area-kodpunkter med fullständig /CIDToGIDMap + /ToUnicode + /W-integration; kumulativ ToUnicode CMap levererar nu 35 ligatur-omvänd-mappningsposter (8 LAM-ALEF + 18 YEH-HAMZA-familjen + 1 Allah + 1 Bismillah + 7 latin) så att kopiering/inklistring i konsumentläsare ger källkodpunkterna; dokumentationsskelett för ChangeLog levereras nu på 11 språk (EN / CN / AR / DE / ES / FR / IT / JA / KO / PT / RU) med ett språkval-gränssnitt; gränsen för bevarande av ChangeLog höjdes från 250 till 500 versionsavsnitt
Cykeln v2.152-v2.190 byggde ut en komplett OpenType GPOS-positioneringsmotor och utökade täckningen av komplexa skript; tillvalsalternativ för formning tillämpar nu teckensnittets egen kerning (parvis, kontextuell och höger-till-vänster), kombineringsteckenplacering (tecken-till-bas, tecken-till-tecken och per-komponent tecken-till-ligatur), kursiva anslutningsankare samt vertikal kerning för vertikal text, allt skrivet som standard PDF-textoperatorer så att alla läsare renderar samma resultat; formning på tillverkarsidan täcker nu arabiska (inklusive blocken Supplement, Extended-A och Extended-B), syriska, mongoliska, N'Ko, Adlam, Hanifi Rohingya, tibetansk konsonantstapling, Devanagari och andra Indic-skript genom teckensnittets Indic-funktionskedja, javanesiska, thailändsk och laotisk teckenordning, hebreisk vokalpunktsordning, khmer, myanmar, Tai Viet och Meetei Mayek; en familj av valfria OpenType-typografifunktioner - standard-, diskretionära och historiska ligaturer, kapitäler, oldstyle / lining / proportionella / tabellformiga siffror, upphöjda tecken, nedsänkta tecken, ordningstal, bråk, vetenskapliga nedsänkningar, täljare, nämnare, stilistiska och kontextuella alternativ, lokalisede former, skiftlägeskänsliga former, struket noll och vertikala alternativ - kan tillämpas automatiskt under textutmatning; kopiering, inklistring och textsökning återställer de ursprungliga tecknen över all formad utdata, inklusive ligaturer och kedjade funktionsersättningar; teckensnittsutmatningen blev också mindre: inbäddade teckensnittsprogram är alltid Flate-komprimerade, ett teckensnitt som används på flera sidor bäddas in en gång per dokument, undergruppstaggar härleds deterministiskt för reproducerbar utdata, och ett valfritt kompakt läge skriver ren ASCII-text med standardteckensnitt som oinbäddad WinAnsi-text
HotPDF innehåller versionsspecifikt stöd för de praktiska PDF 1.3-, PDF 1.4-, PDF 1.5-, PDF 1.6- och PDF 1.7-redigeringsfunktioner som används av affärs-, bildbehandlings-, publicerings- och dokumentautomatiseringsapplikationer; publika API:er kontrolleras mot den valda PDF-versionen så att genererade filer undviker nyare poster när strikt kompatibilitet krävs
Den nuvarande matrisen täcker filter och prediktorer, XRef-strömmar, inkrementella uppdateringskedjor, AES-kryptering, säkerhet med offentlig nyckel, DeviceCMYK- och ICCBased-färg, plattsättningsmönster, axiella/radiella/multi-stegs skuggningar, inbäddade bilder, lager, transparensgrupper, sidövergångar, anteckningar, AcroForm-widgetar, externa signeringskrokar, XMP-metadata, taggade PDF-strukturträd, OutputIntents, produktionssidboxar, ViewerPreferences, UserUnit, Tabs-ordning samt inbäddning/undergruppering av TrueType-, Type 3-, CFF-, OpenType-CFF- och CID-keyed CFF-teckensnitt
Detta är en bred standardmedveten täckning för HotPDF:s redigeringsyta som stöds, inte ett generellt påstående om att alla gränsfall i ISO 32000-1 är implementerade
Använd bekanta Delphi- och C++Builder-projekt, paket, strömmar, formulär och ritmönster istället för att omsluta en separat PDF-motor
Bygg PDF-filer med formulär, anteckningar, lager, transparens, sidövergångar, taggad struktur, kryptering, signeringsplatshållare och inkrementella uppdateringar
Minska PDF-storleken med zlib-ng-komprimering, libjpeg-turbo-bildbehandling, TrueType-undergruppering, OpenType-CFF-undergruppering och CID-keyed CFF-stöd för stora CJK-teckensnitt
Funktionerna nedan är tydliga tekniska differentiatorer för HotPDF jämfört med typiska Delphi PDF-komponenter; de flesta konkurrerande kommersiella komponenter saknar antingen dessa funktioner helt eller är väsentligt svagare i produktion; varje rad motsvarar en verifierbar implementering och ett publikt API-gränssnitt inuti biblioteket
En komplett GSUB-ersättningsmotor som täcker varje LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual), parat med en GPOS-positioneringsmotor som täcker alla 9 LookupTypes (parvis / enkel / kontextuell kerning, mark-to-base, mark-to-mark, per-ligature-component mark-to-ligature, kursiv koppling, avstånd, vertikal vkrn/vpal); all positionering skickas ut med standard PDF-textoperatorer, så att varje läsare renderar identiskt
Fler än 20 skript formas på tillverkarsidan, drivna av teckensnittets egen GSUB-funktionskedja: arabiska (inklusive Supplement / Extended-A / Extended-B), syriska, mongoliska, N'Ko, Adlam, Hanifi Rohingya, tibetansk stapling, Devanagari och Indic-familjen, javanesiska, thailändsk / laotisk teckenordning, hebreisk vokalordning, khmer, myanmar, Tai Viet, Meetei Mayek; utdata innehåller fullständig /ToUnicode omvänd mappning så att kopiering/inklistring återställer de ursprungliga kodpunkterna
ASN.1, RSA, AES, PKCS#12-uppackning och CMS SignedData (RFC 5652) är alla implementerade inuti HotPDF; SignPDFWithPFX signerar en platshållar-PDF i ett enda anrop utan någon OpenSSL-körtidsmiljö och utan plattformens kryptoleverantör - hela signeringskedjan körs i din process, är reproducerbar, granskningsbar och kräver noll infödda binärer att distribuera
PAdES B-B, B-T, B-LT och B-LTA-arbetsflöden täcks helt: RFC 3161-tidsstämplar, DSS / VRI-ordböcker för långtidsvalidering, dokumenttidsstämpelsignaturer, begränsningar för Seed Value samt XAdES-i-PDF; detta är det strikta kravet för EU eIDAS-kompatibla elektroniska signaturer, där de flesta konkurrerande komponenter stannar vid grundläggande CMS-signering
Oberoende profilkontroll för PDF/A-1/-2/-3, PDF/X-1a/-3/-4 och PDF/UA-1 samtidigt - samtal som inte uppfyller kraven genererar diagnostiska undantag istället för att tyst skriva icke-kompatibla PDF-filer; CreatePreflightReport skapar text-, JSON-, HTML- och CSV-rapporter med INI-profiler, inbyggda förinställningar, batch-aggregering och inbäddning av XMP-bevis, validerat från ände till ände mot veraPDF
Arbetar på PDF-filen på disken utan att bygga objektgrafen i minnet; på ett dokument på 2 GB med 1,67 miljoner objekt: AES-256-kryptering ~14 s, avkryptering ~16 s, fullständig omskrivning ~6 s; att läsa sidantalet för ett dokument på 1,25 GB tar millisekunder; klassiska xref-tabeller, XRef-strömmar, hybridreferensfiler och inkrementellt uppdaterade dokument förblir alla på den direkta vägen
TrueType-, OpenType-CFF- och CID-keyed CFF-teckensnitt kan alla undergrupperas med bibehållna glyf-ID för Type0 / Identity-H-text; CJK-dokument som tidigare bäddade in 14 MB CID-keyed CFF-program levereras nu på 500 KB - 2 MB utan förlust av renderade glyfer; inbäddade teckensnittsprogram är alltid Flate-komprimerade, flersidiga teckensnitt bäddas in en gång per dokument och undergruppstaggar är deterministiska för reproducerbar utdata
THPDFLogger + den globala HPDFLog ger en diagnostisk fasad som kan växlas under körtid: Error / Warning / Info / Debug allvarlighetsfiltrering, samtidig fil + OutputDebugString + konsolmål, trådsäker, 10 MB enkel säkerhetskopieringsrullning, noll-overhead inaktiverad snabbväg; LoadFromFile, preflight-rapporter och reservvägen för objektströmmar är redan anslutna till strukturerad diagnostik som kan växlas vid körtid utan att bygga om - en operativ förmåga som de flesta konkurrerande komponenter helt saknar
Drop-in PDF-backends för FastReport (TfrxHotPDFExport), QuickReport (TQRHotPDFExportFilter), ReportBuilder (TppHotPDFDevice) och DevExpress ExpressPrinting (täcker cxGrid / cxRichEdit / cxScheduler / cxPivotGrid); befintliga rapportlayouter fortsätter att fungera - endast PDF-sändaren byts ut
Detta är levererade funktioner, inte löften på en färdplan; varje punkt ovan är implementerad i det nuvarande biblioteket, kompilerar rent och klarar DUnitX-tester samt veraPDF-validering från ände till ände; när du utvärderar konkurrerande komponenter, be om bevis på full GSUB/GPOS LookupType-täckning, en in-process PAdES B-LTA-kedja och uppmätt krypteringsgenomströmning för filer på flera gigabyte
StrictVersionLockFamiljen DAOpenFileReadOnly / DACopyFile / DASetDocumentInfo / DASaveAsFile samt fil-till-fil-anropen EncryptFile / DecryptFile arbetar direkt på PDF-filen istället för att bygga objektgrafen i minnet; på ett referensdokument på 2 GB med 1,67 miljoner objekt tar AES-256-kryptering ungefär 14 sekunder, avkryptering ungefär 16 sekunder och en fullständig omskrivning ungefär 6 sekunder; att öppna ett dokument på 1,25 GB för att läsa dess sidantal tar millisekunder; klassiska tabeller, korsreferensströmmar, hybridreferensfiler och inkrementellt uppdaterade dokument förblir alla på den direkta vägen
CreatePreflightReport och CreatePreflightReportWithProfile granskar en PDF mot de PDF/A-, PDF/X- och PDF/UA-kontroller som stöds och skapar text-, JSON-, HTML- eller CSV-rapporter, med profiler i INI-stil för att undertrycka godkända resultat - redo för CI-kontroller och batchinmatning av dokument; PreflightCLI-demot lägger till rekursiva mappkörningar och sammanställda instrumentpaneler
HasFormFields och FormFieldExists besvarar formulärfrågor om en inläst PDF innan den rörs, fältvärden kan läsas och skrivas med index eller namn, och FlattenFormFields bränner in interaktiva AcroForm-fält i sidinnehållet och rapporterar hur många fält den plattade till - tillsammans med XFA-till-AcroForm-tillplattningen som gör XFA-formulär användbara i alla läsare
THotPDF.SignPDFWithPFX(InputPDF, OutputPDF, PFXFile, Password) signerar en befintlig platshållar-PDF i ett enda anrop; hela stacken för ASN.1, RSA, AES, PKCS#12 och CMS SignedData (RFC 5652) är implementerad inuti HotPDF, så ingen OpenSSL-körtidsmiljö eller kryptoleverantör för plattformen behövs
PAdES B-B, B-T, B-LT och B-LTA-arbetsflöden täcks från ände till ände: signaturskapande med RFC 3161-tidsstämplar, DSS / VRI-ordböcker för långtidsvalidering, dokumenttidsstämpelsignaturer och begränsningar för Seed Value; XAdES-i-PDF och tillämpning av signaturers Seed Value är en del av samma gränssnitt
HotPDF kontrollerar funktionsmetoder mot profilerna PDF/A-1 / -2 / -3, PDF/X-1a / -3 / -4 och PDF/UA-1; anrop som skulle bryta mot den valda profilen (transparens i PDF/A-1, JavaScript i PDF/A, externa anteckningar i PDF/X, otaggad struktur i PDF/UA) genererar diagnostiska undantag istället för att tyst skapa PDF-filer som inte uppfyller kraven
Drop-in PDF-backends för de fyra vanligaste Delphi-rapportmotorerna: TfrxHotPDFExport (FastReport 4 / FastReport VCL), TQRHotPDFExportFilter (QuickReport), TppHotPDFDevice (ReportBuilder) och dxHotPDFExportReportLinkToFile/Stream (DevExpress ExpressPrinting System som täcker cxGrid / cxRichEdit / cxScheduler / cxPivotGrid); befintliga rapporter fortsätter att fungera - endast PDF-sändaren byts ut
Tillvalbar textpositionering driven av teckensnittets egna GPOS-data: parvis och kontextuell kerning för vänster-till-höger- och höger-till-vänster-text, mark-to-base, mark-to-mark och markplacering per ligaturkomponent, kursiv in-/utgångsinriktning, avståndspositionering samt vertikal kerning för vertikala teckensnitt; positionering skickas ut med standard PDF-textoperatorer, så att varje PDF-läsare renderar samma resultat
Formning på tillverkarsidan renderar korrekt sammanfogad och omorganiserad text för arabiska (inklusive blocken Supplement, Extended-A och Extended-B), syriska, mongoliska, N'Ko, Adlam, Hanifi Rohingya, tibetanska, Devanagari och övriga Indic-skript, javanesiska, thailändska, laotiska, hebreiska, khmer, myanmar, Tai Viet och Meetei Mayek utan att förlita sig på en formare på visarsidan; varje skript är en tillvalsinställning, så befintlig utdata förblir byte-identisk tills den aktiveras, och kopiering/inklistring återställer de ursprungliga tecknen
Valfria formningsbrytare tillämpar automatiskt teckensnittets standard-, diskretionära och historiska ligaturer, kapitäler, oldstyle / lining / proportionella / tabellformiga siffror, upphöjda tecken, nedsänkta tecken, ordningstal, bråk, vetenskapliga nedsänkningar, täljare, nämnare, stilistiska och kontextuella alternativ, lokaliserade former, skiftlägeskänsliga former, struket noll och vertikala alternativ under textutmatning, med textextraktion mappad tillbaka till källtecknen
Inbäddade teckensnittsprogram är alltid Flate-komprimerade, ett teckensnitt som används på flera sidor bäddas in en gång för hela dokumentet och undergruppstaggar härleds deterministiskt från de glyfer som faktiskt används så att upprepade körningar ger identisk utdata; ett valfritt läge skriver ren ASCII-text med standardteckensnitt som kompakt oinbäddad WinAnsi-text, vilket krymper en sida med ren text från hundratals kilobyte till några få kilobyte
Formning på tillverkarsidan omvandlar Unicode-indatasekvenser till deras Presentation Forms innan PDF-text skickas ut; arabiska täcker hela U+0672-06D5 tabellen för föreningsklasser plus över 40 Forms-A-mappningar, med automatisk ligaturefterbearbetning för LAM-ALEF, YEH-HAMZA + vokaler (U+FBEA-FBFB), Allah (U+FDF2) och Bismillah (U+FDFD); gränssnitt för syriska (GetSyriacJoiningClass), mongoliska (GetMongolianJoiningClass) och Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) låter anropare driva icke-arabiska komplexa skript genom samma GSUB-motor
Den valfria egenskapen ShapingFeatures + THPDFShapingFeature-enum (sfArabicGSUB / sfCursiveAttachment / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) upphöjer OpenType GSUB- och GPOS-motorerna till en automatisk pipeline på tillverkarsidan; inbyggd arabisk init / medi / fina / isol, rlig, calt, rclt, GPOS kursiv koppling, latinsk liga / clig samt Devanagari Indic-omorganisering sker när texten skickas ut, med fullständig /ToUnicode omvänd mappning för korrekt kopiering/inklistring
Latin Standard Ligatures (ff / fi / fl / ffi / ffl / ſt / st via U+FB00-FB06) skickas ut automatiskt via ApplyLatinLigatureRefinement när sfStandardLigatures är aktiverat; för GSUB-ersättnings-GID utan en naturlig Unicode-kodpunkt - Devanagari-klusterformer, stilistiska alternativ, CJK-ideografiska variationssekvenser - tilldelar AssignSyntheticCodepointForGID en kodpunkt i Private-Use-Area (U+E000-F8FF) med speglad /CIDToGIDMap + /W + /ToUnicode-integration
Varje OpenType GSUB LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual) är implementerad som ett gränssnitt för frågor (GetSingleSubstituteGlyph, ApplyLigatureSubstitution, ApplyContextualSubst, ApplyReverseChainedContextualSubst samt Multiple / Alternate / Script / LangSys / Feature-hjälpare); MarkUnicodeGlyphUsed drar in varje ersättningsglyf i TTF-undergrupperaren så att inbäddade teckensnittsundergrupper förblir självförsörjande
/DRPDF 1.7 §12.7.6 / §12.7.8 XFA-behållarpaket följer med (eller istället för) statiska /Fields via AddXFAPacket; hela AcroForm formulärfältsutlösarfamiljen (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) exponeras som omslagsmetoder, och RegisterAcroFormFont binder flera Unicode-teckensnitt till en enda AcroForm /DR-resursordbok för flerspråkiga formulärwidgetar
THotPDF.EnableFontSubsetting undergrupperar TrueType-, OpenType-CFF- och CID-keyed CFF-teckensnitt med bibehållna glyf-ID för Type0 / Identity-H-text; CJK-PDF-filer som tidigare bäddade in 14 MB CID-keyed CFF-program levereras nu på 500 KB - 2 MB utan att förlora några renderade glyfer
BeginIncrementalUpdate, SaveIncrementalUpdate, MarkDirty och signeringsplatshållarens API:er stöder PDF-uppdateringar med enbart tillägg och arbetsflöden med flera signaturer utan att skriva om tidigare signerade byteintervall
GetSyriacJoiningClass / GetSyriacPosition), mongoliska (GetMongolianJoiningClass / GetMongolianPosition), Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) - driver samma GSUB-motor för komplexa icke-arabiska skriptShapingFeatures: sfArabicGSUB tillämpar inbyggd arabisk init / medi / fina / isol samt rlig / calt / rclt för att generera teckensnittsspecifika kontextuella glyf-ID, sfCursiveAttachment tillämpar GPOS kursiva ankare, sfStandardLigatures / sfContextualLigatures genererar latinsk liga / clig (FB00-FB06: ff / fi / fl / ffi / ffl / ſt / st) och sfIndicShaping omorganiserar Devanagari-kluster (Repha + pre-base I-matra) innan de skickas utMarkUnicodeGlyphUsed), Cmap format 12 SMP-täckning, GDEF-parsning, automatisk generering av ToUnicode CMap med 35 ligaturoskopierade mappningsposter samt en GetUnicodeGlyphForCodepoint-sökning för anropare som driver utmatning glyf-för-glyfAssignSyntheticCodepointForGID / GetSyntheticCodepointForGID) låter tillverkare skicka ut alla GSUB-ersättnings-GID (Devanagari-klusterformer, stilistiska alternativ, CJK-ideografiska variationssekvenser) genom U+E000-F8FF Private Use Area med speglad /CIDToGIDMap + /W-integration; GetCodepointAdvance exponerar den cachade /W em-fraktionen för radbrytningsberäkningarvkrn / vpal vertikal kerning tillämpad på vertikal textutmatningliga / clig / dlig / hlig, kapitäler smcp / c2sc, sifferstilar onum / lnum / pnum / tnum, sups / subs / ordn / frac / sinf / numr / dnom, stilistiska alternativ salt, kontextuella alternativ calt / rclt, lokaliserade former locl, skiftlägesformer case, struket noll zero samt vertikala alternativ vert / vrt2, med kedjade ersättningar återställda till källtexten i ToUnicode CMap/AA /K Keystroke, /F Format, /V Validate, /C Calculate) med en omslagsmetod per utlösare; multi-Unicode /DR-teckensnittsregistrering via RegisterAcroFormFont; XFA (XML Forms Architecture) behållarstöd (PDF 1.7 §12.7.6 / §12.7.8) med AddXFAPacket / ClearXFAPackets / XFAPacketCount och efterlevnadskontroller för PDF/A + PDF/X, plus XFA-till-AcroForm-tillplattning (ApplyXFAAsAcroForm för råa XDP-byte, FlattenLoadedXFA för ett inläst PDF-dokuments inbäddade formulär) som förvandlar statisk XFA till inbyggda AcroForm-fält, formatering och sidgrafik så att formuläret förblir synligt och ifyllbart i läsare utan en XFA-motorBeginTaggedContent (/Lang / /Alt / /ActualText / /E), tilldelare för strukturelementattribut (/Lang / /E / /T), Table 333 standardstrukturtypsenum (THPDFStandardStructureType) samt en AddStructureElement typad överlagringAktuella HotPDF-versioner använder zlib-ng i zlib-kompatibelt läge för den medföljande Flate-backend; sidströmmar, inbäddade teckensnittsströmmar, ToUnicode CMap, Flate-bildströmmar, TIFF-relaterad utdata samt FlateDecode-hjälpare dirigeras genom HotPDF zlib-skiktet
Zlib-ng-versionerna för Win64x och diagnostisk MSVC Win64 inkluderar körtids-CPU-dispatch för SSE2, SSSE3, SSE4.1, SSE4.2, PCLMULQDQ och AVX2-vägar med generella reserver kvar; Win32 förblir på den generella zlib-ng OMF-objektuppsättningen via bcc32c, medan Win32 JPEG- och TIFF-objekt fortsätter att använda den klassiska bcc32 OMF-vägen
Standard JPEG-arbetsflöden använder den medföljande libjpeg-turbo 3.1.90-objektuppsättningen via det libjpeg-kompatibla API som exponeras av HPDFJpeg.pas; de inbyggda versionerna för Win32, Win64 och Win64x inkluderar nu relevanta NASM SIMD-objektuppsättningar, och samma inbyggda JPEG-backend är tillgänglig för TIFF-integreringsskiktet för hantering av JPEG-komprimerad TIFF
C-körtidsbryggan i HPDFCLibs.pas löser nu malloc, free, realloc, calloc, memcpy, memmove och memset genom ett gränssnitt mot Pascal, med 32-bytesjusterad allokering för SIMD-vänliga inbyggda buffertar
Kodarkivet innehåller reproducerbara skript för objektbygge: Lib\thirdparty\build-bcc32.bat, Lib\thirdparty\build-bcc64x.bat och Lib\thirdparty\build-vc64.bat för hela uppsättningen av inbyggda C-bibliotek, plus skript med enbart zlib-ng för fokuserade komprimeringsombyggnader
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-källkodsfiler, paketprojekt, statiska objektfiler samt integrering av medföljande tredjepartsbibliotekDemo\Delphi: Delphi-exempel för dokumentgenerering, ritning, bilder, sidinställningar, kryptering, sammanfognings-/redigeringsarbetsflöden med meraDemo\C++Builder: C++Builder-exempel anpassade till arbetsflödena i Delphis huvuddemoHtmlHelp: produkthjälp och referensmaterial för utvecklare