|
HotPDF ist eine VCL-Komponentenbibliothek für Delphi und C++Builder, die PDF-Dokumente erstellt, ohne eine externe PDF-DLL zu benötigen; der Haupt-Einstiegspunkt ist die Klasse THotPDF, die die Dokumenterstellung, den Seitenzugriff, die Komprimierung, Metadaten, Sicherheit und Ausgabeströme verwaltet
Typische Workflows umfassen das Zeichnen von Text und Vektorgrafiken, das Einbetten von Bitmap- und Metadateiinhalten, den Import von TIFF- und JPEG2000-Bildern, das Anhängen von Dateien, das Konfigurieren von Betrachtereinstellungen, das Schützen des fertigen Dokuments mit Passwörtern und Berechtigungen sowie das Laden von standardmäßig verschlüsselten RC4-40- / RC4-128-PDFs mit einem Passwort für eine unverschlüsselte Ausgabe des geladenen Dokuments
Aktuelle Highlights
- Erweiterte Bildunterstützung für TIFF-, JPEG2000-, JBIG2-, WMF- und EMF-Workflows
- Integrierte LZW-Unterstützung, zlib-ng-basierte Flate-Komprimierung im zlib-kompatiblen Modus, 64-Bit-zlib-ng-Laufzeit-SIMD-Dispatch und standardmäßige JPEG-Verarbeitung mit libjpeg-turbo 3.1.90 und NASM SIMD-Objektbeschleunigung
- Gemeinsame C-Laufzeitbrücke in HPDFCLibs.pas für Win32- bcc32c- / bcc32-OMF-Objekte, Win64-COFF64-Objekte und zlib-ng Win64x COFF-Objekte, einschließlich 32-Byte-ausgerichteter C-Allokation
- Erweiterte Betrachter- und Druckeinstellungen, einschließlich Dokumentenrichtung, Druckskalierung, Duplexmodus, Seitenbegrenzungen und anfänglichem Zoomverhalten
- Verbesserte Schrifteinbettung, Unicode-Textausgabe und Rendering von rechts-nach-links geschriebenem Text
- PDF/A Level A-Ausgabe aktiviert Tagged-PDF-Grundlagen für Archivierungskonformität, während die PDF/UA-1-Identifikation als explizites PDFUACompliance-Opt-in erfolgt
- PDF/A-1, PDF/A-2, PDF/A-3, PDF/X-1a, PDF/X-3, PDF/X-4 und PDF/UA-1-Workflows beinhalten profilbezogene Erzeugergateways, Metadaten-Generierung, OutputIntent-Unterstützung wo anwendbar und Smoke-Coverage für PDF/A-2A / PDF/A-3A validiert mit veraPDF
- Aktualisierte Demo-Anwendungen für ViewerPreferences und die Validierung eingebetteter Schriftarten
Positionierung zur Standardkonformität
- PDF/A-Unterstützung wird über PDFACompliance bereitgestellt; HotPDF liefert die PDF/A-Metadaten, Profileinschränkungen, Durchsetzung der Schrifteinbettung, OutputIntent-Hooks und die Validierungsabdeckung; die Anwendung stellt weiterhin gültige ICC-Profile, Titel-/Sprachwerte, Schriftarten und profilgerechte Inhalte bereit
- PDF/UA-Unterstützung wird über PDFUACompliance und die Tagged-PDF-APIs bereitgestellt; HotPDF liefert den Wrapper auf Dokumentenebene, die Strukturbaum-Maschinerie, das Rollen-Mapping, markierte Inhaltshelfer, die ParentTree-Verkabelung sowie Alternativtext- / ActualText-Helfer; die Anwendung besitzt weiterhin die tatsächliche semantische Struktur und Lesereihenfolge
- PDF/A Level A und PDF/UA-1 sind separate Ansprüche; Level A ermöglicht das für die Archivierungkonformität erforderliche Tagged-PDF-Fundament, während die PDF/UA-1-XMP-Identität nur ausgegeben wird, wenn PDFUACompliance explizit aktiviert ist
Build- und Plattformhinweise
- Win32-Builds verknüpfen bcc32c-generierte zlib-ng-OMF-Objekte und bcc32-generierte JPEG/TIFF-OMF-Objekte, die unter Lib\thirdparty\Win32 gespeichert sind
- Win64-Builds verknüpfen COFF64-Objekte, die unter Lib\thirdparty\Win64 gespeichert sind; das zlib-ng-Backend verknüpft derzeit die bcc64x-generierten COFF-Objekte, die unter Lib\thirdparty\Win64x gespeichert sind
- Validierungsdurchläufe für nativen Objektrebuild aus sauberen Ausgaben: 206 Win32-Objekte, 205 Win64x-Objekte und 206 MSVC Win64-Objekte
- Die Unit HPDFOpenJpeg.pas dient derzeit als Schnittstellenebene und Erweiterungspunkt; sie sollte nicht als vollständige native OpenJPEG-Laufzeitbindung behandelt werden
Diagnose
- Allgemeine Bibliotheksdiagnosen werden gesteuert durch withDEBUG in HotPDF.inc, was bei Aktivierung HotPDF-Debug.log schreibt
- Das Verfolgen der Zusammenführung von Seiteninhalten wird separat gesteuert durch PAGECONTENT_DEBUG_FILE, was PageContent_Debug.txt nur bei expliziter Aktivierung schreibt
Automatisierte Validierung
- Die Delphi-Regressionssuite DUnitX besteht 20 Tests unter Win32 und 20 Tests unter Win64 über Tests\Delphi\Run-HotPDFDelphiTests.bat
- Die C++Builder-Regressionssuite GoogleTest besteht 17 Tests unter Win32 und 17 Tests unter Win64x über Tests\C++Builder\Run-HotPDFCBuilderTests.bat
- Die automatisierte Abdeckung umfasst generierte Metadaten, Unicode- und RTL-Text, Anmerkungen, Anhänge, Standard-JPEG-Bildplatzierung, Bild- und TIFF-Import, zlib-ng Flate-Komprimierung, Barcode-Ausgabe, Speicherstrom-Ausgabe, Seiteneinrichtung, Verschlüsselung, Hyperlinks, Absätze, Kopieren/Zusammenführen/Bearbeiten-Workflows, Tabellen, Diagramme, numerische Ausgaben, Metadateien und strukturierte Berichte
HotPDF eignet sich für die Berichterstellung, technische Dokumentation, Bildverarbeitungs-Workflows und andere Anwendungen, die eine direkte programmatische Steuerung der PDF-Ausgabe erfordern
|