HotPDF Component Description

 

Κορυφή  Επόμενο

Ο προσαρμογέας βρίσκεται στο Lib\Addons\FastReport4\ και δεν αποτελεί μέρος των κύριων πακέτων HotPDF*.dpk, επομένως η εξάρτηση FastReport τραβιέται μόνο από έργα που επιλέγουν τον προσαρμογέα. Ένα smoke test (smoke_frx_hotpdf.dpr) βρίσκεται δίπλα στην unit

 

Το HotPDF είναι βιβλιοθήκη VCL components για Delphi και C++Builder που δημιουργεί έγγραφα PDF χωρίς να απαιτεί εξωτερικό PDF DLL. Το κύριο σημείο εισόδου είναι η κλάση THotPDF, η οποία διαχειρίζεται δημιουργία εγγράφου, πρόσβαση σε σελίδες, συμπίεση, metadata, ασφάλεια και output streams

 

Τρέχοντα βασικά σημεία

  • 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.
  • Τυπικές ροές περιλαμβάνουν σχεδίαση κειμένου και vector graphics, ενσωμάτωση bitmap και metafile περιεχομένου, εισαγωγή εικόνων TIFF και JPEG2000, προσάρτηση αρχείων, ρύθμιση viewer preferences, προστασία του τελικού εγγράφου με κωδικούς και permissions, και φόρτωση RC4-40 / RC4-128 Standard encrypted PDFs με κωδικό για unencrypted loaded-document output
  • Updated demo applications for ViewerPreferences and embedded-font validation.

Standards conformance positioning

  • Οι ροές 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, παραγωγή metadata, υποστήριξη OutputIntent όπου εφαρμόζεται και smoke coverage για PDF/A-2A / PDF/A-3A επικυρωμένο με veraPDF
  • Η υποστήριξη PDF/A εκτίθεται μέσω PDFACompliance. Το HotPDF παρέχει PDF/A metadata, profile restrictions, επιβολή font embedding, hooks OutputIntent και validation smoke coverage· η εφαρμογή εξακολουθεί να παρέχει έγκυρα ICC profiles, τιμές title/language, fonts και περιεχόμενο κατάλληλο για το profile
  • Η υποστήριξη PDF/UA εκτίθεται μέσω PDFUACompliance και των Tagged PDF APIs. Το HotPDF παρέχει το document-level wrapper, μηχανισμό structure-tree, role mapping, marked-content helpers, ParentTree wiring και alternate-text / ActualText helpers· η εφαρμογή εξακολουθεί να κατέχει την πραγματική σημασιολογική δομή και τη σειρά ανάγνωσης

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.
  • PDF/A Level A και PDF/UA-1 είναι ξεχωριστοί ισχυρισμοί. Το Level A ενεργοποιεί τη βάση Tagged PDF που απαιτείται για αρχειακή συμμόρφωση, ενώ η ταυτότητα XMP PDF/UA-1 εκπέμπεται μόνο όταν το PDFUACompliance ενεργοποιείται ρητά

Diagnostics

  • General library diagnostics are controlled by withDEBUG in HotPDF.inc, which writes HotPDF-Debug.log when enabled.
  • Η unit HPDFOpenJpeg.pas λειτουργεί προς το παρόν ως interface layer και extension point· δεν πρέπει να θεωρείται πλήρες native OpenJPEG runtime binding

Automated validation

  • Το page-content merge tracing ελέγχεται ξεχωριστά από PAGECONTENT_DEBUG_FILE, το οποίο γράφει PageContent_Debug.txt μόνο όταν ενεργοποιηθεί ρητά
  • Η 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