Source-level native PDF · Delphi & C++Builder

Bring industrial-grade PDF capability into your RAD Studio app with not a single external runtime dependency

HotPDF is a source-level PDF component library for Delphi and C++Builder: pure native, with no external PDF runtime or DLL, baking advanced typography shaping, compliant signing, standards preflight and multi-gigabyte handling entirely into your own single executable process

  • Pure Delphi source · no external PDF DLL
  • Full OpenType GSUB + GPOS engine
  • In-process PFX/PKCS#12 signing
  • PAdES B-B / B-T / B-LT / B-LTA
  • PDF/A · PDF/X · PDF/UA three-axis compliance
  • Multi-gigabyte Direct File API

Eight differentiators competitors can't easily match

Every selling point below is a delivered capability, not a roadmap promise. Each one carries verifiable evidence — down to source units, function names and passing tests

Source-level native · no external PDF runtime

Integrates directly as Pascal source into your project and generates, parses and saves PDF entirely inside your process, with full debugging and deployment control. The C backends for imaging and compression (zlib-ng, libjpeg-turbo, OpenJPEG, jbig2dec) are statically linked object files — there is no extra PDF engine DLL at runtime

Entry class THotPDF · 47 Pascal source units

Complete OpenType shaping + positioning

Ships a full GSUB substitution engine (LookupTypes 1–8) and a full GPOS positioning engine (all 9 LookupTypes): ligatures, small caps, contextual substitution, pair/contextual kerning, mark-to-base, mark-to-mark, cursive attachment. Most competing Delphi PDF components have nothing here

20+ OpenType typography features auto-applied during text output

Producer-side complex-script shaping

20+ scripts shaped on the producer side: Arabic (incl. Supplement / Extended-A/B), Syriac, Mongolian, N'Ko, Tibetan, Devanagari and the Indic family, Javanese, Thai/Lao, Hebrew, Khmer, Myanmar and more; paired with a UAX #9 bidi pipeline and full /ToUnicode reverse mapping so copy/paste/search recovers the original codepoints

Includes 35 ligature reverse-mappings (LAM-ALEF, YEH-HAMZA family, Allah, etc.)

In-process PFX / PKCS#12 signing · zero dependencies

Sign with PFX/PKCS#12 in one call — THotPDF.SignPDFWithPFX — with no OpenSSL and no platform crypto provider. The entire ASN.1, RSA, AES, PKCS#12 unwrap and CMS SignedData (RFC 5652) chain is implemented inside HotPDF, with reproducible, auditable results

Units: HPDFASN1 / HPDFRSA / HPDFCrypt / HPDFPFX / HPDFCMS / HPDFAES

PAdES long-term validation · end to end

Supports PAdES B-B / B-T / B-LT / B-LTA — the hard requirement for EU eIDAS compliance: RFC 3161 timestamps, DSS/VRI dictionaries, document-timestamp signatures, Seed Value constraints, XAdES-in-PDF. Competitors typically stop at basic CMS

For long-term archiving and e-signature scenarios that must meet evidentiary rules

Three-axis compliance + preflight

Locks PDF/A-1/-2/-3, PDF/X-1a/-3/-4 and PDF/UA-1 as independent compliance profiles simultaneously; non-conformant calls raise diagnostic exceptions instead of silently producing non-compliant PDFs. CreatePreflightReport emits text/JSON/HTML/CSV reports, validated against veraPDF

Per-method PDF version gating: RequirePDFVersion + StrictVersionLock

Multi-gigabyte Direct File API

Processes file-to-file without building the in-memory object graph: DAOpenFileReadOnly, DACopyFile, EncryptFile, DecryptFile handle classic xref tables, XRef streams, hybrid references and incrementally updated files, with throughput measured in seconds

2 GB / 1.67M objects: AES-256 encryption ≈ 14 s; 1.25 GB page count read in milliseconds

CFF / OpenType-CFF / CID subsetting

Subsets TrueType, OpenType-CFF and CID-keyed CFF fonts (EnableFontSubsetting) while preserving glyph IDs for Type0/Identity-H text — a CJK document shrinks from ~14 MB CID-keyed CFF to 500 KB–2 MB; a typical Latin TTF from 350 KB to 10–15 KB

Deterministic subset tags for byte-reproducible output

Four report-engine adapters

FastReport, QuickReport, ReportBuilder and DevExpress ExpressPrinting (covering cxGrid/cxRichEdit/cxScheduler/cxPivotGrid), plus a DBGrid adapter — wire your existing reports onto HotPDF's PDF backend in one step, no report rewrite needed

Adapter units live under Lib/addons/<engine>

Key evidence, not just claims

2 GBsingle-document handling, 1.67M objects tested
47Pascal source units of coverage
41%measured size reduction via object streams
756+API, example, compliance & workflow topics
Delivered and verifiable. Regression tests via DUnitX (Win32 / Win64) and GoogleTest (C++Builder) keep guarding the build, and compliance claims are validated against veraPDF; PDFSpecComplianceMatrix.md records that HotPDF's supported authoring surface has “no unimplemented PDF spec code gap”

Who should take a serious look at HotPDF

Enterprise documents / e-signatures

Contracts, invoices, archives — needing PAdES long-term validation, incremental updates (BeginIncrementalUpdate) to preserve already-signed byte ranges, and PDF/A archival compliance

Multilingual / complex-script publishing

Arabic, Indic, CJK and other scripts that must shape and position correctly and copy/paste back to the original codepoints — HotPDF solves “renders right and copies right” in one pass

High-volume / server-side PDF pipelines

Batch encryption, decryption, page counting, extraction — the Direct File API lets multi-gigabyte files be processed without the whole document resident in memory

Existing report systems going to PDF

Already using FastReport / QuickReport / ReportBuilder / DevExpress reports — one adapter swaps in the HotPDF backend and keeps your report designs intact

Desktop / single-file delivery

Software that must deploy as a single executable, carry no third-party PDF DLL, and debug the whole pipeline inside its own process

Accessibility / PDF/UA

Tagged PDF structure trees, role maps, marked content, and /Alt//ActualText accessibility attributes for PDF/UA-1 (ISO 14289-1)

One-line signing, zero external dependencies

No OpenSSL, no platform crypto provider — PFX/PKCS#12 signing is done entirely inside the HotPDF process:

var Pdf: THotPDF;
Pdf := THotPDF.Create(nil);
try
  Pdf.FileName := 'contract.pdf';
  Pdf.SignPDFWithPFX('contract.pdf', 'signed.pdf',
                     'cert.pfx', 'pfx-password');
finally
  Pdf.Free;
end;

Need long-term validation (PAdES B-LTA)? Append DSS/VRI dictionaries and an RFC 3161 timestamp; to apply an incremental update to any signed document without breaking the original signed byte range, use BeginIncrementalUpdate / SaveIncrementalUpdate

Next steps

Start with the full capability list and the component overview, drill into classes (THotPDF, THPDFPage, THPDFPara) in the documentation Contents, or browse the changelog for the latest delivered capabilities