HotPDF Delphi Component Description

 

Вверх  Далее

HotPDF - это библиотека VCL-компонентов для Delphi и C++Builder, создающая PDF-документы без внешней PDF DLL. Основная точка входа - класс THotPDF, который управляет созданием документа, доступом к страницам, сжатием, метаданными, безопасностью и потоками вывода

 

Типичные сценарии включают рисование текста и векторной графики, внедрение bitmap и metafile содержимого, импорт изображений TIFF и JPEG2000, вложение файлов, настройку viewer preferences, защиту итогового документа паролями и разрешениями, а также загрузку PDF с шифрованием RC4-40 / RC4-128 Standard по паролю для вывода загруженного документа без шифрования

 

Текущие возможности

  • Expanded image support for TIFF, JPEG2000, JBIG2, WMF, and EMF workflows.
  • Built-in LZW support, zlib-ng based Flate compression in zlib-compatible mode, 64-bit zlib-ng runtime SIMD dispatch, and libjpeg-turbo 3.1.90 backed standard JPEG handling with NASM SIMD object acceleration.
  • Shared C runtime bridging in HPDFCLibs.pas for Win32 bcc32c/bcc32 OMF objects, Win64 COFF64 objects, and zlib-ng Win64x COFF objects, including 32-byte aligned C allocation.
  • Expanded viewer and print preferences, including document direction, print scaling, duplex mode, page boundaries, and initial zoom behavior.
  • Improved font embedding, Unicode text output, and right-to-left text rendering.
  • PDF/A Level A output enables Tagged PDF basics for archival conformance while keeping PDF/UA-1 identification as an explicit PDFUACompliance opt-in.
  • Workflow PDF/A-1, PDF/A-2, PDF/A-3, PDF/X-1a, PDF/X-3, PDF/X-4 и PDF/UA-1 включают profile-aware producer gates, generation metadata, поддержку OutputIntent там, где применимо, и smoke coverage для PDF/A-2A / PDF/A-3A, проверенную veraPDF
  • Updated demo applications for ViewerPreferences and embedded-font validation.

Карта ключевых возможностей

  • Поля AcroForm и form actions: текстовое поле, чекбокс, радиокнопка, комбобокс, список, кнопка и поле подписи, плюс действия SubmitForm, ResetForm, JavaScript и действия уровня документа
  • Аннотации, ссылки и вложения: вывод аннотаций text/link/file attachment, дерево встроенных имён файлов, ссылки с действиями URI и GoTo, интерактивный вывод на уровне страницы
  • Безопасность и подписи: пароли и разрешения Standard security handler вплоть до AES-256 с разрешениями revision 6, поля подписей, подписывание CMS и PAdES/PFX, загрузка сертификатов PFX
  • Стандарты: profile-aware вывод PDF/A, PDF/X и PDF/UA с producer-гейтами, метаданными, OutputIntent, хелперами Tagged PDF и smoke-тестами валидации на одной compliance-модели
  • Слои Optional Content: группы видимости, показ и скрытие импортированных страниц, ресурсы групп и навигация по слоям, управляемая вьюером
  • Графика: tiling patterns, шейдинги, переиспользуемые ресурсы Form XObject, soft mask и группы прозрачности, хелперы холста
  • Изображения: JPEG, TIFF, двухуровневые изображения в стиле CCITT fax, JPEG2000 и изображения JBIG2Decode, записываемые через AddImage и декодируемые из загруженных документов
  • Текст: Unicode-шрифты Type 0 с ToUnicode CMap, CJK-шрифтовые сценарии, RTL-текст, вертикальный текст, сабсеттинг CFF/OpenType и OpenType-шейпинг GSUB/GPOS
  • Большие файлы: Direct File API, бенчмарк больших файлов и перезапись загруженного документа для замены объектов, переупорядочивания страниц и сценариев копирования, слияния и редактирования
  • Потоки: OutputStream, LoadFromStream и генерация в memory-stream для потоков вызывающей стороны и серверного вывода без временных файлов

Standards conformance positioning

  • Поддержка PDF/A открыта через PDFACompliance. HotPDF предоставляет PDF/A metadata, profile restrictions, font-embedding enforcement, OutputIntent hooks и validation smoke coverage; application по-прежнему предоставляет valid ICC profiles, title/language values, fonts и profile-appropriate content
  • Поддержка PDF/UA открыта через PDFUACompliance и Tagged PDF APIs. HotPDF предоставляет document-level wrapper, structure-tree machinery, role mapping, marked-content helpers, ParentTree wiring и alternate-text / ActualText helpers; application по-прежнему отвечает за реальную semantic structure и reading order
  • PDF/A Level A и PDF/UA-1 — отдельные claims. Level A включает основу Tagged PDF, требуемую для archival conformance, а PDF/UA-1 XMP identity выводится только когда PDFUACompliance явно включен

Build and platform notes

  • Win32 builds link bcc32c-generated zlib-ng OMF objects and bcc32-generated JPEG/TIFF OMF objects stored in Lib\thirdparty\Win32.
  • Win64 builds link COFF64 objects stored in Lib\thirdparty\Win64; the zlib-ng backend currently links the bcc64x-generated COFF objects stored in Lib\thirdparty\Win64x.
  • Native object rebuild validation passes from clean outputs: 206 Win32 objects, 205 Win64x objects, and 206 MSVC Win64 objects.
  • Модуль HPDFOpenJpeg.pas сейчас служит interface layer и extension point; его не следует считать полноценным native OpenJPEG runtime binding

Diagnostics

  • General library diagnostics are controlled by withDEBUG in HotPDF.inc, which writes HotPDF-Debug.log when enabled.
  • Трассировка page-content merge управляется отдельно через PAGECONTENT_DEBUG_FILE, который записывает PageContent_Debug.txt только при явном включении

Automated validation

  • DUnitX Delphi regression suite проходит 20 tests на Win32 и 20 tests на Win64 через Tests\Delphi\Run-HotPDFDelphiTests.bat
  • GoogleTest C++Builder regression suite проходит 17 tests на Win32 и 17 tests на Win64x через Tests\C++Builder\Run-HotPDFCBuilderTests.bat
  • Автоматическое покрытие проверяет generated metadata, Unicode и RTL text, annotations, attachments, standard JPEG image placement, image и TIFF import, zlib-ng Flate compression, barcode output, memory-stream output, page setup, encryption, hyperlinks, paragraphs, copy/merge/edit workflows, tables, charts, numeric output, metafiles и structured reports

HotPDF подходит для генерации отчетов, технической документации, imaging workflows и других приложений, которым нужен прямой программный контроль над PDF-выводом