|
HotPDF es una biblioteca de componentes VCL para Delphi y C++Builder que genera documentos PDF sin requerir una DLL PDF externa. El punto de entrada principal es la clase THotPDF, que administra la creación de documentos, el acceso a páginas, la compresión, los metadatos, la seguridad y los flujos de salida
Los flujos de trabajo típicos incluyen dibujar texto y gráficos vectoriales, incrustar contenido de mapa de bits y metarchivo, importar imágenes TIFF y JPEG2000, adjuntar archivos, configurar preferencias del visor, proteger el documento final con contraseñas y permisos, y cargar PDF cifrados estándar RC4-40 / RC4-128 con una contraseña para obtener salida de documento cargado sin cifrar
Aspectos destacados actuales
- Compatibilidad ampliada de imágenes para flujos TIFF, JPEG2000, JBIG2, WMF y EMF
- Compatibilidad LZW integrada, compresión Flate basada en zlib-ng en modo compatible con zlib, despacho SIMD en tiempo de ejecución para zlib-ng de 64 bits y manejo estándar de JPEG respaldado por libjpeg-turbo 3.1.90 con aceleración de objetos SIMD NASM
- Puente de tiempo de ejecución C compartido en HPDFCLibs.pas para objetos OMF Win32 bcc32c/bcc32, objetos COFF64 Win64 y objetos COFF Win64x de zlib-ng, incluida la asignación C alineada a 32 bytes
- Preferencias de visor e impresión ampliadas, incluidas la dirección del documento, la escala de impresión, el modo dúplex, los límites de página y el comportamiento de zoom inicial
- Mejor incrustación de fuentes, salida de texto Unicode y renderizado de texto de derecha a izquierda
- La salida PDF/A Level A habilita los fundamentos de Tagged PDF para la conformidad de archivo, mientras mantiene la identificación PDF/UA-1 como una opción explícita PDFUACompliance
- Los flujos de trabajo PDF/A-1, PDF/A-2, PDF/A-3, PDF/X-1a, PDF/X-3, PDF/X-4 y PDF/UA-1 incluyen barreras de productor conscientes del perfil, generación de metadatos, compatibilidad con OutputIntent cuando corresponde y cobertura de humo para PDF/A-2A / PDF/A-3A validada con veraPDF
- Aplicaciones de demostración actualizadas para ViewerPreferences y validación de fuentes incrustadas
Posicionamiento de cumplimiento de estándares
- La compatibilidad PDF/A se expone mediante PDFACompliance. HotPDF proporciona los metadatos PDF/A, las restricciones de perfil, la aplicación de incrustación de fuentes, los enganches de OutputIntent y la cobertura de humo de validación; la aplicación sigue proporcionando perfiles ICC válidos, valores de título e idioma, fuentes y contenido adecuado al perfil
- La compatibilidad PDF/UA se expone mediante PDFUACompliance y las APIs de Tagged PDF. HotPDF proporciona el envoltorio a nivel de documento, la maquinaria del árbol de estructura, el mapeo de roles, los ayudantes de contenido marcado y el cableado de ParentTree, además de los ayudantes de texto alternativo y ActualText; la aplicación sigue siendo dueña de la estructura semántica real y del orden de lectura
- PDF/A Level A y PDF/UA-1 son declaraciones separadas. Level A habilita la base de Tagged PDF requerida para la conformidad de archivo, mientras que la identidad XMP de PDF/UA-1 solo se emite cuando PDFUACompliance se habilita explícitamente
Notas de compilación y plataforma
- Las compilaciones Win32 enlazan objetos OMF de zlib-ng generados por bcc32c y objetos OMF de JPEG/TIFF generados por bcc32 almacenados en Lib\thirdparty\Win32
- Las compilaciones Win64 enlazan objetos COFF64 almacenados en Lib\thirdparty\Win64; el backend de zlib-ng actualmente enlaza los objetos COFF generados por bcc64x almacenados en Lib\thirdparty\Win64x
- La validación de recompilación de objetos nativos pasa desde salidas limpias: 206 objetos Win32, 205 objetos Win64x y 206 objetos MSVC Win64
- La unidad HPDFOpenJpeg.pas actualmente sirve como capa de interfaz y punto de extensión; no debe tratarse como un enlace nativo completo de tiempo de ejecución de OpenJPEG
Diagnósticos
- Los diagnósticos generales de la biblioteca se controlan con withDEBUG en HotPDF.inc, que escribe HotPDF-Debug.log cuando se habilita
- El seguimiento de la fusión de contenido de página se controla por separado con PAGECONTENT_DEBUG_FILE, que escribe PageContent_Debug.txt solo cuando se habilita explícitamente
Validación automatizada
- La suite de regresión DUnitX para Delphi pasa 20 pruebas en Win32 y 20 pruebas en Win64 mediante Tests\Delphi\Run-HotPDFDelphiTests.bat
- La suite de regresión GoogleTest para C++Builder pasa 17 pruebas en Win32 y 17 pruebas en Win64x mediante Tests\C++Builder\Run-HotPDFCBuilderTests.bat
- La cobertura automatizada ejercita metadatos generados, texto Unicode y RTL, anotaciones, adjuntos, colocación estándar de imágenes JPEG, importación de imágenes y TIFF, compresión Flate con zlib-ng, salida de códigos de barras, salida a memoria, configuración de página, cifrado, hipervínculos, párrafos, flujos de trabajo de copiar / combinar / editar, tablas, gráficos, salida numérica, metarchivos e informes estructurados
HotPDF sirve para generar reportes, documentación técnica, flujos de imágenes y otras aplicaciones que necesitan control programático directo sobre la salida PDF
|