Нативный PDF исходного уровня · Delphi и C++Builder

Промышленные PDF-возможности в ваше приложение RAD Studio — без единой внешней runtime-зависимости

HotPDF — библиотека PDF-компонентов исходного уровня для Delphi и C++Builder: чистая нативность, без внешнего PDF-runtime или DLL, — продвинутый типографский shaping, соответствующее стандартам подписание, preflight и многогигабайтная обработка, всё целиком внутри вашего единого исполняемого процесса

  • Чистые исходники Delphi · без внешней PDF DLL
  • Полноценный движок OpenType GSUB + GPOS
  • Подписание PFX/PKCS#12 внутри процесса
  • PAdES B-B / B-T / B-LT / B-LTA
  • Соответствие PDF/A · PDF/X · PDF/UA по трём осям
  • Многогигабайтный Direct File API

Восемь преимуществ, которые конкурентам трудно повторить

Каждый пункт ниже — уже поставленная возможность, а не обещание с роадмапа. За каждым стоят проверяемые доказательства — вплоть до исходных модулей, имён функций и проходящих тестов

Нативность на уровне исходников · без внешнего PDF-runtime

Подключается прямо как исходники Pascal в ваш проект и генерирует, разбирает и сохраняет PDF целиком внутри вашего процесса, с полным контролем отладки и развёртывания. C-бэкенды для изображений и сжатия (zlib-ng, Zopfli, libjpeg-turbo, OpenJPEG, jbig2dec) — статически слинкованные объектные файлы, никакой дополнительной DLL PDF-движка в рантайме нет

Нативный API Pascal · статически слинкованные C-бэкенды

Полный shaping и позиционирование OpenType

Поставляется с полным движком подстановок GSUB (LookupTypes 1–8) и полным движком позиционирования GPOS (все 9 LookupTypes): лигатуры, малые капители, контекстные подстановки, парный/контекстный кернинг, mark-to-base, mark-to-mark, курсивное присоединение. У большинства конкурирующих Delphi PDF-компонентов здесь пусто

20+ типографских feature OpenType, автоматически применяемых при выводе текста

Shaping сложных письменностей на стороне генератора

20+ письменностей обрабатываются на стороне генератора: Arabic (включая Supplement / Extended-A/B), Syriac, Mongolian, N'Ko, Tibetan, Devanagari и семья Indic, Javanese, Thai/Lao, Hebrew, Khmer, Myanmar и другие; в паре с bidi-конвейером UAX #9 и полной обратной /ToUnicode -маппировкой /ToUnicode, так что copy/paste и поиск восстанавливают исходные кодовые точки

Включает 35 обратных отображений лигатур (LAM-ALEF, семья YEH-HAMZA, Allah и т. д.)

Подписание PFX / PKCS#12 внутри процесса · ноль зависимостей

Подписывайте PFX/PKCS#12 одним вызовом — THotPDF.SignPDFWithPFX — без OpenSSL и без платформенного криптопровайдера. Вся цепочка ASN.1, RSA, AES, разворачивания PKCS#12 и CMS SignedData (RFC 5652) реализована внутри HotPDF с воспроизводимыми, аудируемыми результатами

Модули: HPDFASN1 / HPDFRSA / HPDFCrypt / HPDFPFX / HPDFCMS / HPDFAES

Долгосрочная валидация PAdES · от начала до конца

Поддерживает PAdES B-B / B-T / B-LT / B-LTA — жёсткое требование соответствия eIDAS ЕС: timestamp RFC 3161, словари DSS/VRI, подписи document timestamp, ограничения Seed Value, XAdES-in-PDF. Конкуренты обычно останавливаются на базовом CMS

Для сценариев долгосрочного архивирования и электронной подписи, где нужно соблюдать правила доказательности

Соответствие по трём осям + preflight

Блокирует PDF/A-1/-2/-3, PDF/X-1a/-3/-4 и PDF/UA-1 как независимые профили соответствия одновременно; несовместимые вызовы выбрасывают диагностические исключения вместо молчаливого производства несоответствующих PDF. Preflight выдаёт text, JSON, HTML, CSV или детерминированный XML MRR и может сочетать встроенные политики с ограниченными доверенными feature- и validation-плагинами

Разграничение версии PDF на уровне метода: RequirePDFVersion + StrictVersionLock

Многогигабайтный Direct File API

Обрабатывает файл-в-файл без построения объектного графа в памяти: DAOpenFileReadOnly, DACopyFile, EncryptFile, DecryptFile обрабатывают классические таблицы xref, XRef stream, гибридные ссылки и инкрементально обновлённые файлы с пропускной способностью, измеряемой в секундах

2 GB / 1.67M объектов: шифрование AES-256 ≈ 14 с; подсчёт страниц в 1.25 GB за миллисекунды

Сабсетинг CFF / OpenType-CFF / CID

Сабсетит шрифты TrueType, OpenType-CFF и CID-keyed CFF (EnableFontSubsetting), сохраняя glyph ID для текста Type0/Identity-H — CJK-документ сжимается с ~14 MB CID-keyed CFF до 500 KB–2 MB; типичный Latin TTF — с 350 KB до 10–15 KB

Детерминированные метки сабсета для побайтово воспроизводимого вывода

Четыре адаптера отчётных движков

FastReport, QuickReport, ReportBuilder и DevExpress ExpressPrinting (с покрытием cxGrid/cxRichEdit/cxScheduler/cxPivotGrid), плюс адаптер DBGrid — подключите существующие отчёты к PDF-бэкенду HotPDF за один шаг, без переписывания отчётов

Модули адаптеров лежат в Lib/addons/<engine>

Ключевые доказательства, а не только заявления

2 GBработа с одним документом, протестировано 1.67M объектов
47исходных модулей Pascal в покрытии
41%замеренное уменьшение размера через object stream
756+тем API, примеров, соответствия и workflow
Поставлено и проверяемо. Регрессионные тесты через DUnitX (Win32 / Win64) и GoogleTest (C++Builder) продолжают охранять сборку, а заявления о соответствии валидируются против veraPDF; PDFSpecComplianceMatrix.md фиксирует, что поддерживаемая авторская поверхность HotPDF — «no unimplemented PDF spec code gap»

Кому стоит серьёзно присмотреться к HotPDF

Корпоративные документы / e-подписи

Контракты, счета, архивы — нужны долгосрочная валидация PAdES, инкрементальные обновления (BeginIncrementalUpdate), сохраняющие уже подписанные диапазоны байтов, и архивное соответствие PDF/A

Многоязычная / сложнописьменная публикация

Arabic, Indic, CJK и другие письменности, которым нужны корректные shaping и позиционирование и copy/paste обратно в исходные кодовые точки, — HotPDF решает задачу «рендерится правильно и копируется правильно» за один проход

Высоконагруженные / серверные PDF-конвейеры

Пакетное шифрование, расшифровка, подсчёт страниц, извлечение — Direct File API обрабатывает многогигабайтные файлы без удержания всего документа в памяти

Существующие отчётные системы, уходящие в PDF

Уже используете отчёты FastReport / QuickReport / ReportBuilder / DevExpress — один адаптер подменяет бэкенд на HotPDF, сохраняя дизайн отчётов нетронутым

Десктоп / доставка одним файлом

ПО, которое должно развёртываться одним исполняемым файлом, не тащить стороннюю PDF DLL и отлаживать весь конвейер внутри собственного процесса

Доступность / PDF/UA

Деревья структуры тегированного PDF, role map, marked content и /Alt//ActualText -атрибуты доступности для PDF/UA-1 (ISO 14289-1)

Подписание одной строкой, ноль внешних зависимостей

Без OpenSSL, без платформенного криптопровайдера — подписание PFX/PKCS#12 выполняется целиком внутри процесса HotPDF:

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;

Нужна долгосрочная валидация (PAdES B-LTA)? Дозапишите словари DSS/VRI и timestamp RFC 3161; чтобы применить инкрементальное обновление к любому подписанному документу, не ломая исходный подписанный диапазон байтов, используйте BeginIncrementalUpdate / SaveIncrementalUpdate

Следующие шаги

Начните с полным списком возможностей и обзором компонентов, углубитесь в классы (THotPDF, THPDFPage, THPDFPara) в содержании документацииили просмотрите changelog ради свежих поставленных возможностей