HotPDF Delphi Component Description

 

Top  Next

HotPDF è una libreria di componenti VCL per Delphi e C++Builder che genera documenti PDF senza richiedere una DLL PDF esterna. Il punto di ingresso principale è la classe THotPDF, che gestisce la creazione del documento, l'accesso alle pagine, la compressione, i metadati, la sicurezza e gli output stream.

 

I flussi di lavoro tipici comprendono disegnare testo e grafica vettoriale, incorporare contenuti bitmap e metafile, importare immagini TIFF e JPEG2000, allegare file, configurare le preferenze del viewer, proteggere il documento finale con password e permessi e caricare con una password PDF cifrati con RC4-40 / RC4-128 Standard per produrre un output senza cifratura.

 

Current highlights

  • Supporto esteso per i flussi di lavoro con immagini TIFF, JPEG2000, JBIG2, WMF ed EMF.
  • Supporto LZW integrato, compressione Flate basata su zlib-ng in modalità compatibile con zlib, dispatch SIMD a runtime di zlib-ng a 64 bit e gestione JPEG standard basata su libjpeg-turbo 3.1.90 con accelerazione tramite oggetti SIMD NASM.
  • 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.
  • Preferenze di viewer e stampa ampliate, tra cui direzione del documento, scalatura di stampa, modalità duplex, page boundary e comportamento dello zoom iniziale.
  • Embedding dei font, output di testo Unicode e rendering del testo da destra a sinistra migliorati.
  • L'output PDF/A Level A abilita le basi del Tagged PDF per la conformità di archiviazione, mantenendo l'identificazione PDF/UA-1 come opt-in esplicito tramite PDFUACompliance.
  • I flussi di lavoro PDF/A-1, PDF/A-2, PDF/A-3, PDF/X-1a, PDF/X-3, PDF/X-4 e PDF/UA-1 includono producer gate sensibili al profilo, generazione dei metadati, supporto OutputIntent dove applicabile e smoke test validati con veraPDF per PDF/A-2A / PDF/A-3A.
  • Applicazioni demo aggiornate per ViewerPreferences e per la validazione dei font incorporati.

Mappa delle capacità principali

  • Campi AcroForm e azioni di modulo: campo di testo, check box, radio button, combo box, list box, push button e campo firma, con azioni SubmitForm, ResetForm, JavaScript e a livello di documento
  • Annotazioni, collegamenti e allegati: output di annotazioni testo/collegamento/allegato file, l'albero dei nomi dei file incorporati, collegamenti con azioni URI e GoTo, e output interattivo a livello di pagina
  • Sicurezza e firme: password e permessi del gestore di sicurezza standard fino ad AES-256 con permessi revision 6, campi firma, firma CMS e PAdES/PFX e caricamento di certificati PFX
  • Standard: output PDF/A, PDF/X e PDF/UA consapevoli del profilo, con producer gate, metadati, OutputIntent, helper Tagged PDF e smoke test di validazione su un unico modello di conformità
  • Layer Optional Content: gruppi di visibilità, mostrare o nascondere pagine importate, risorse di gruppo e navigazione dei layer controllata dal viewer
  • Grafica: pattern di tiling, shading, risorse Form XObject riutilizzabili, soft mask e transparency group, e helper per la canvas
  • Immagini: JPEG, TIFF, immagini bilevel in stile fax CCITT, JPEG2000 e immagini JBIG2Decode scritte da AddImage e decodificate dai documenti caricati
  • Testo: font Unicode Type 0 con ToUnicode CMap, workflow font CJK, testo RTL, testo verticale, subsetting CFF/OpenType e shaping OpenType GSUB/GPOS
  • File grandi: la Direct File API, un benchmark per file grandi e la riscrittura di documenti caricati per sostituzione di oggetti, riordino delle pagine e workflow di copia, merge e modifica
  • Stream: OutputStream, LoadFromStream e generazione su memory stream per stream posseduti dal chiamante e output server-side senza file temporanei

Standards conformance positioning

  • Il supporto PDF/A è esposto tramite PDFACompliance. HotPDF fornisce i metadati PDF/A, le restrizioni del profilo, l'obbligo di embedding dei font, gli hook OutputIntent e gli smoke test di validazione; l'applicazione deve comunque fornire profili ICC validi, valori di titolo/lingua, font e contenuti adatti al profilo.
  • Il supporto PDF/UA è esposto tramite PDFUACompliance e le API Tagged PDF. HotPDF fornisce il wrapper a livello di documento, il meccanismo dell'albero di struttura, il role mapping, gli helper per il marked content, il collegamento del ParentTree e gli helper per testo alternativo / ActualText; la vera struttura semantica e l'ordine di lettura restano a carico dell'applicazione.
  • PDF/A Level A e PDF/UA-1 sono dichiarazioni distinte. Level A abilita le basi del Tagged PDF richieste per la conformità di archiviazione, mentre l'identità XMP PDF/UA-1 viene emessa solo quando PDFUACompliance è abilitato esplicitamente.

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.
  • Le build Win64 collegano gli oggetti COFF64 conservati in Lib\thirdparty\Win64; il backend zlib-ng collega attualmente gli oggetti COFF generati da bcc64x conservati in Lib\thirdparty\Win64x.
  • La validazione della ricostruzione degli oggetti nativi passa da output puliti: 206 oggetti Win32, 205 oggetti Win64x e 206 oggetti MSVC Win64.
  • L'unit HPDFOpenJpeg.pas al momento funge da livello di interfaccia e punto di estensione; non va considerata un binding runtime nativo completo di OpenJPEG.

Diagnostics

  • La diagnostica generale della libreria è controllata da withDEBUG in HotPDF.inc, che quando è abilitato scrive HotPDF-Debug.log.
  • Il tracing del merge del contenuto di pagina è controllato separatamente da PAGECONTENT_DEBUG_FILE, che scrive PageContent_Debug.txt solo se abilitato esplicitamente.

Validazione automatizzata

  • La suite di regressione Delphi DUnitX supera 20 test su Win32 e 20 test su Win64 tramite Tests\Delphi\Run-HotPDFDelphiTests.bat.
  • La suite di regressione C++Builder GoogleTest supera 17 test su Win32 e 17 test su Win64x tramite Tests\C++Builder\Run-HotPDFCBuilderTests.bat.
  • La copertura automatizzata esercita metadata generati, testo Unicode e RTL, annotations, attachments, posizionamento JPEG standard, import image e TIFF, compressione zlib-ng Flate, output barcode, output memory-stream, page setup, encryption, hyperlinks, paragraphs, workflow copy/merge/edit, tables, charts, output numerico, metafiles e structured reports

HotPDF è adatto alla generazione di report, alla documentazione tecnica, ai workflow di imaging e ad altre applicazioni che richiedono controllo programmatico diretto sull’output PDF