HotPDF Component Description

 

Góra  Następny

HotPDF to biblioteka komponentów VCL dla Delphi i C++Builder generująca dokumenty PDF bez wymagania zewnętrznej biblioteki DLL PDF. Głównym punktem wejścia jest klasa THotPDF, która zarządza tworzeniem dokumentu, dostępem do stron, kompresją, metadata, security i output streams

 

Typowe workflows obejmują rysowanie tekstu i grafiki vector, osadzanie bitmap i metafile content, import obrazów TIFF i JPEG2000, dołączanie plików, konfigurowanie viewer preferences, ochronę finalnego dokumentu hasłami i permissions oraz ładowanie standardowo szyfrowanych PDF RC4-40 / RC4-128 z hasłem w celu uzyskania niezaszyfrowanego loaded-document output

 

Aktualne najważniejsze elementy

  • Rozszerzona obsługa obrazów dla workflows TIFF, JPEG2000, JBIG2, WMF i EMF
  • Wbudowana obsługa LZW, kompresja Flate oparta na zlib-ng w trybie zgodnym z zlib, 64-bit runtime SIMD dispatch zlib-ng oraz standardowa obsługa JPEG wsparta przez libjpeg-turbo 3.1.90 z akceleracją NASM SIMD object
  • Wspólne mostkowanie C runtime w HPDFCLibs.pas dla obiektów OMF Win32 generowanych przez bcc32c/bcc32, obiektów COFF64 Win64 oraz obiektów COFF zlib-ng Win64x, w tym 32-byte aligned C allocation
  • Rozszerzone viewer i print preferences, w tym kierunek dokumentu, print scaling, duplex mode, page boundaries i initial zoom behavior
  • Ulepszone font embedding, Unicode text output i right-to-left text rendering
  • PDF/A Level A output włącza podstawy Tagged PDF dla archival conformance, zachowując identyfikację PDF/UA-1 jako jawne opt-in PDFUACompliance
  • Workflows PDF/A-1, PDF/A-2, PDF/A-3, PDF/X-1a, PDF/X-3, PDF/X-4 i PDF/UA-1 obejmują profile-aware producer gates, generowanie metadata, obsługę OutputIntent tam, gdzie ma zastosowanie, oraz smoke coverage dla PDF/A-2A / PDF/A-3A walidowane przez veraPDF
  • Zaktualizowane demo applications dla ViewerPreferences i walidacji embedded-font

Pozycjonowanie zgodności ze standardami

  • Obsługa PDF/A jest eksponowana przez PDFACompliance. HotPDF dostarcza PDF/A metadata, profile restrictions, wymuszenie font embedding, hooks OutputIntent i validation smoke coverage; aplikacja nadal dostarcza poprawne ICC profiles, wartości title/language, fonts i profile-appropriate content
  • Obsługa PDF/UA jest eksponowana przez PDFUACompliance i Tagged PDF APIs. HotPDF dostarcza document-level wrapper, structure-tree machinery, role mapping, marked-content helpers, ParentTree wiring oraz alternate-text / ActualText helpers; aplikacja nadal odpowiada za rzeczywistą strukturę semantyczną i reading order
  • PDF/A Level A i PDF/UA-1 to odrębne deklaracje. Level A włącza fundament Tagged PDF wymagany dla archival conformance, natomiast PDF/UA-1 XMP identity jest emitowana tylko wtedy, gdy PDFUACompliance jest włączone jawnie

Uwagi dotyczące buildów i platform

  • Buildy Win32 linkują obiekty OMF zlib-ng generowane przez bcc32c oraz obiekty OMF JPEG/TIFF generowane przez bcc32, przechowywane w Lib\thirdparty\Win32
  • Buildy Win64 linkują obiekty COFF64 przechowywane w Lib\thirdparty\Win64; backend zlib-ng aktualnie linkuje obiekty COFF generowane przez bcc64x i przechowywane w Lib\thirdparty\Win64x
  • Walidacja native object rebuild przechodzi z czystych outputs: 206 obiektów Win32, 205 obiektów Win64x i 206 obiektów MSVC Win64
  • Unit HPDFOpenJpeg.pas obecnie służy jako interface layer i extension point; nie należy traktować go jako kompletnego native OpenJPEG runtime binding

Diagnostyka

  • Ogólna diagnostyka biblioteki jest kontrolowana przez withDEBUG w HotPDF.inc, który zapisuje HotPDF-Debug.log po włączeniu
  • Śledzenie page-content merge jest kontrolowane osobno przez PAGECONTENT_DEBUG_FILE, który zapisuje PageContent_Debug.txt tylko po jawnym włączeniu

Automatyczna walidacja

  • Zestaw regresyjny DUnitX Delphi przechodzi 20 testów na Win32 i 20 testów na Win64 przez Tests\Delphi\Run-HotPDFDelphiTests.bat
  • Zestaw regresyjny GoogleTest C++Builder przechodzi 17 testów na Win32 i 17 testów na Win64x przez Tests\C++Builder\Run-HotPDFCBuilderTests.bat
  • Automated coverage obejmuje generated metadata, Unicode i RTL text, annotations, attachments, standardowe JPEG image placement, import image i TIFF, zlib-ng Flate compression, barcode output, memory-stream output, page setup, encryption, hyperlinks, paragraphs, copy/merge/edit workflows, tables, charts, numeric output, metafiles i structured reports

HotPDF nadaje się do generowania raportów, dokumentacji technicznej, imaging workflows i innych aplikacji wymagających bezpośredniej programowej kontroli nad wyjściem PDF