Přehled

 

Nahoru  Další

HotPDF je knihovna komponent VCL pro Delphi a C++Builder, která generuje dokumenty PDF bez požadavku na externí PDF DLL. Hlavním vstupním bodem je třída THotPDF, která spravuje vytváření dokumentu, přístup ke stránkám, kompresi, metadata, zabezpečení a výstupní streamy

 

Typické pracovní postupy zahrnují kreslení textu a vektorové grafiky, vkládání bitmapového a metafile obsahu, import obrazů TIFF a JPEG2000, připojování souborů, konfiguraci předvoleb prohlížeče, ochranu finálního dokumentu hesly a oprávněními a načítání PDF šifrovaných Standard RC4-40 / RC4-128 s heslem pro nešifrovaný výstup načteného dokumentu

 

Aktuální hlavní body

  • Rozšířená podpora obrazů pro pracovní postupy TIFF, JPEG2000, JBIG2, WMF a EMF
  • Vestavěná podpora LZW, komprese Flate založená na zlib-ng v režimu kompatibilním se zlib, 64bitový runtime SIMD dispatch zlib-ng a standardní zpracování JPEG podporované libjpeg-turbo 3.1.90 s akcelerací objektů NASM SIMD
  • Sdílený C runtime bridging v HPDFCLibs.pas pro objekty Win32 bcc32c/bcc32 OMF, objekty Win64 COFF64 a objekty zlib-ng Win64x COFF včetně alokace v C zarovnané na 32 bajtů
  • Rozšířené předvolby prohlížeče a tisku včetně směru dokumentu, škálování tisku, duplexního režimu, hranic stránky a chování počátečního přiblížení
  • Vylepšené vkládání fontů, výstup textu Unicode a vykreslování textu zprava doleva
  • Výstup PDF/A Level A zapíná základy Tagged PDF pro archivní shodu, zatímco identifikace PDF/UA-1 zůstává explicitním opt-in přes PDFUACompliance
  • Pracovní postupy PDF/A-1, PDF/A-2, PDF/A-3, PDF/X-1a, PDF/X-3, PDF/X-4 a PDF/UA-1 zahrnují produkční brány se znalostí profilu, generování metadat, podporu OutputIntent tam, kde je relevantní, a smoke pokrytí PDF/A-2A / PDF/A-3A validované pomocí veraPDF
  • Aktualizované demo aplikace pro ViewerPreferences a validaci vložených fontů

Postavení vůči shodě se standardy

  • Podpora PDF/A je zpřístupněna přes PDFACompliance. HotPDF dodává metadata PDF/A, omezení profilu, vynucení vložení fontů, hooky OutputIntent a validační smoke pokrytí; aplikace stále dodává platné ICC profily, hodnoty title/language, fonty a obsah odpovídající profilu
  • Podpora PDF/UA je zpřístupněna přes PDFUACompliance a API Tagged PDF. HotPDF dodává wrapper na úrovni dokumentu, mechanismus structure tree, mapování rolí, pomocné funkce marked content, zapojení ParentTree a pomocné funkce alternate-text / ActualText; aplikace stále vlastní skutečnou sémantickou strukturu a pořadí čtení
  • PDF/A Level A a PDF/UA-1 jsou samostatná tvrzení. Level A zapíná základ Tagged PDF vyžadovaný pro archivní shodu, zatímco XMP identita PDF/UA-1 se emituje jen při explicitním zapnutí PDFUACompliance

Poznámky k sestavení a platformám

  • Sestavení Win32 linkují objekty zlib-ng OMF generované pomocí bcc32c a objekty JPEG/TIFF OMF generované pomocí bcc32, uložené v Lib\thirdparty\Win32
  • Sestavení Win64 linkují objekty COFF64 uložené v Lib\thirdparty\Win64; backend zlib-ng aktuálně linkuje objekty COFF generované pomocí bcc64x a uložené v Lib\thirdparty\Win64x
  • Validace přestavby nativních objektů prochází z čistých výstupů: 206 objektů Win32, 205 objektů Win64x a 206 objektů MSVC Win64
  • Jednotka HPDFOpenJpeg.pas aktuálně slouží jako vrstva rozhraní a extension point; neměla by být považována za úplnou nativní runtime vazbu OpenJPEG

Diagnostika

  • Obecnou diagnostiku knihovny řídí withDEBUG v HotPDF.inc, která při zapnutí zapisuje HotPDF-Debug.log
  • Tracing slučování obsahu stránky řídí samostatně PAGECONTENT_DEBUG_FILE, která zapisuje PageContent_Debug.txt jen při explicitním zapnutí

Automatizovaná validace

  • Regresní sada Delphi DUnitX prochází 20 testy na Win32 a 20 testy na Win64 přes Tests\Delphi\Run-HotPDFDelphiTests.bat
  • Regresní sada C++Builder GoogleTest prochází 17 testy na Win32 a 17 testy na Win64x přes Tests\C++Builder\Run-HotPDFCBuilderTests.bat
  • Automatizované pokrytí procvičuje generovaná metadata, text Unicode a RTL, anotace, přílohy, standardní vložení obrazů JPEG, import obrazů a TIFF, kompresi zlib-ng Flate, výstup čárových kódů, výstup do paměťového streamu, nastavení stránky, šifrování, hypertextové odkazy, odstavce, workflow kopírování/slučování/úprav, tabulky, grafy, číselný výstup, metafiles a strukturované reporty

HotPDF se hodí pro generování reportů, technickou dokumentaci, obrazové workflow a další aplikace, které potřebují přímé programové řízení PDF výstupu