Plan de entrega de mejoras de HotPDF
Iniciado el 8 de octubre de 2026 sobre la versión 2.800.2; el objetivo de entrega continua sigue activo hasta que cada ítem de aceptación de abajo esté implementado y verificado
El objetivo posterior de finalización de capacidades restantes está activo; el checklist histórico no establece la finalización de la compatibilidad de rendering general, transporte FDF, CSS de rich text ni XFA dinámico
El trabajo completado exige APIs públicas funcionando, comprobaciones de aceptación no GUI con significado real, documentación canónica en inglés americano, metadatos de release sincronizados y un commit de release local
La compatibilidad se define por entradas soportadas explícitas y diagnósticos observables; un placeholder de interfaz, una implementación sin verificar o un rechazo de funcionalidad no soportada no completa la funcionalidad correspondiente
Checklist de entrega
| Frente de trabajo | Criterios de aceptación | Estado |
|---|---|---|
| Paridad JSON y C ABI | Exportaciones estructuradas HTML/XHTML/XML/JSON y de tablas tipadas CSV/JSON, engines OCR externos, firma incremental y campos de firma existentes, comparación de documentos, descubrimiento de capacidades, cancelación, límites de recursos y publicación a prueba de fallos | En progreso: exportaciones estructuradas y de tablas tipadas implementadas; quedan OCR externo, firma incremental y comparación |
| Plantillas HTML de negocio | Imágenes y controles de formulario dentro de flex/grid, contenedores anidados, filas flex con wrapping, spans de columnas de grid, recursos font-face controlados y fixtures de regresión para facturas, reportes y contratos a dos columnas | Completo: layouts de negocio anidados, wrapping/spans, imágenes/formularios y fuentes controladas verificados en Win32/Win64 |
| Procesamiento de documentos escaneados | Orientación de página completa, deskew a ángulos arbitrarios, limpieza de bordes/sombras, corrección de perspectiva acotada, mapeo de coordenadas invertible y un workflow de OCR hacia datos estructurados | Planificado |
| Conversión de archivado PDF/A | Composición opcional de apariencias visibles de anotaciones/widgets, retención de texto buscable, un perfil de conversión documentado que preserva texto/vector, validación, reporte explícito de pérdida y salida atómica | Planificado |
| Comparación de contratos | Alineación de párrafos, records de inserción/eliminación/reemplazo de palabras u oraciones con ambas posiciones de origen, exclusión de boilerplate configurable y salida de revisión en PDF anotado o HTML | Completo: ediciones de contratos de ambos lados, movimientos, exclusiones y artifacts de revisión verificados en Delphi y FPC |
| Edición de párrafos acotada | Reflow dentro de un rectángulo de página explícito, cambios de fuente y de ancho, reporte de colisiones con contenido adyacente, preview/commit/rollback y edición de texto cross-baseline y en Form soportada | Planificado |
| Exportación de tablas XLSX | XLSX sin dependencia de Office con números/fechas/monedas/porcentajes tipados, celdas combinadas, metadatos de página de origen, recursos acotados y salida a prueba de fallos | Completo: libros nativos, JSON y C ABI con Win32/Win64 y aceptación con lectores independientes |
| Perfiles de factura electrónica | Registro versionado de reglas de perfil, dispatch correcto de Factur-X, recursos dedicados para los perfiles XRechnung y franceses, alcance de validación explícito y fixtures oficiales de aceptación válidos/inválidos | Completo: registro versionado, capas oficiales XRechnung y CTC francesas, y aceptación real con Saxon |
| Despliegue Linux headless | Builds ELF Linux reales y aceptación no GUI para parseo, texto, formularios, seguridad/firmas y render soportado sin Windows ni un escritorio activo | En progreso: parseo portable Linux real, I/O de objetos, compresión, criptografía, writer y rutas de texto/fuentes; queda la integración completa de documento, formularios, firmas y render |
| Compatibilidad XFA dinámica | Eventos condicionales con presupuesto, data binding explícito, presentación por instancia, integración de painter/accesibilidad del host y fixtures reproducibles de formularios dinámicos | Planificado |
| Reconocimiento de códigos de barras | Múltiples símbolos por raster, muestreo en perspectiva de Data Matrix, reconocimiento acotado, coordenadas de origen y fixtures de símbolos rotados/con perspectiva/dañados | En progreso: aceptación de regresión multi-símbolo y de perspectiva completada; queda la integración |
Evidencia de releases
La versión 2.801.0 agregó las operaciones de exportación estructurada y de tablas tipadas; las suites de operaciones de Win32 y Win64 pasan cada una 121 tests, incluyendo 30 casos nuevos de exportación, y lectores independientes de JSON/XML/HTML/CSV verifican el DLL real del ABI Win64 con callbacks parciales, fallo de presupuesto y cancelación de publicación
La versión 2.802.0 agregó la exportación XLSX nativa, por JSON y por C ABI; Win32 y Win64 pasan cada uno 134 casos de operaciones y de libros, mientras que la salida real del DLL pasa el CRC de ZIP y parseo XML independiente con valores tipados y selección de páginas de origen
La versión 2.803.0 agregó los registros explícitos de reglas de factura y la validación oficial XRechnung y CTC francesa; Win32 y Win64 pasan cada uno 17 casos, incluyendo muestras positivas y negativas reales de reglas nacionales, configuraciones inválidas del engine, rechazo de DTD y salida de proceso acotada
La versión 2.804.0 publicó el core portable de Linux con ocho grupos de regresión sobre FPC Linux nativo 3.2.2 y 3.3.1, checks de compilación idénticos a los de Windows y alias de tipos Delphi/C++Builder preservados; la aceptación completa de documentos, formularios, firmas y render en Linux sigue en progreso
La versión 2.805.0 completó el frente de plantillas HTML de negocio con 28 casos de regresión en Win32 y 28 en Win64, recargas reales de PDF, campos nativos, objetos de imagen, embedding controlado de fuentes y checks de fallback y de presupuesto de recursos
La versión 2.806.0 completó el frente de comparación de contratos con 10 casos Delphi en Win32 y 10 en Win64 más cinco grupos de aceptación FPC por plataforma, cubriendo ediciones de redacción reales multi-página, párrafos entre páginas, cláusulas duplicadas, salida de revisión Unicode, rechazo de origen desactualizado, presupuestos y cancelación
La versión 2.807.0 completó el frente de reconocimiento de códigos de barras con 99 checks en Win32 y 99 en Win64, incluyendo 18 checks nuevos de símbolos mezclados, perspectiva, símbolos dañados, preservación del origen, geometría, presupuesto y cancelación; los FPC de Windows en ambas plataformas compilan el escáner nativo y los helpers de geometría
La versión 2.808.0 agregó carga nativa headless de documentos classic-xref, recursos heredados y texto de Forms anidados, inspección y llenado de valores de AcroForm Unicode, y saves incrementales atómicos acotados; seis targets nativos de FPC Linux 3.2.2/3.3.1 y de FPC/Delphi Windows pasan 46 aserciones cada uno, mientras que las interfaces C++ generadas y los lectores independientes pypdf/MuPDF verifican este primer perfil de documentos
La versión 2.809.0 agregó Tesseract CLI/DLL y RapidOCR CLI/DLL a los jobs OCR de JSON y C ABI; Win32 y Win64 verifican cada uno 39 casos nuevos de operaciones y 134 casos existentes de operación/export, mientras que Tesseract real y lectores independientes de PDF verifican el texto buscable y los píxeles de escaneo sin cambios a través del DLL real del ABI Win64
La versión 2.810.0 completó el preprocesamiento de escaneos y el OCR estructurado con 16 pruebas Delphi en Win32 y 16 en Win64 y seis checks reales de FPC Windows por plataforma; Tesseract vivo verifica cuatro orientaciones y seis variantes raster corregidas incluido un escaneo de 37.5 grados, mientras se verifican la geometría hasta ±179.25 grados, los límites de trabajo/asignación, el overflow de la salida del proceso, la cancelación en vuelo, la preservación del origen y la salida semántica
La versión 2.811.0 agregó validación compartida de xref-streams y object-streams, precedencia de revisiones híbridas, tokens numéricos anchos exactos y round trips que preservan el origen para objetos comprimidos; la aceptación nativa de documentos/core de Linux y Windows y los lectores independientes verifican el perfil expandido, y 66 casos de regresión del parser por plataforma Delphi retienen los gates existentes de rendimiento
La versión 2.812.0 completó el workstream de archivado PDF/A; Delphi Win32 y Win64 pasan cada uno 24 casos de preservación y 47 casos raster existentes, las interfaces frescas de FPC Windows y C++Builder compilan, pypdf/MuPDF independientes verifican el contenido y los recursos originales, y tres artifacts generados de apariencias/OCR pasan veraPDF PDF/A-4 con cero reglas o checks fallidos
La versión 2.813.0 completó la edición acotada de párrafos con 20 casos Delphi por arquitectura y siete grupos de aceptación FPC por arquitectura, más comprobaciones independientes de texto/render sobre las cuatro salidas; las regresiones de guardados repetidos retienen las ediciones después de que el grafo se haya vaciado
La versión 2.814.0 agregó seguridad AES-256 al perfil nativo headless; dos toolchains reales de FPC Linux, dos targets de FPC Windows y dos targets de Delphi pasan cada uno 64 aserciones de baseline, 81 de provider y 82 de documentos cifrados, los headers públicos de C++Builder compilan, y lectores estrictos independientes validan 36 salidas cifradas y sus prefijos de origen preservados
La versión 2.815.0 completó el workstream del host-adapter de XFA dinámico a través del perfil documentado del helper de presentación de instancias; cada arquitectura de Delphi pasa 23 casos nuevos y 83 de compatibilidad, las fuentes FPC frescas y ambos targets de headers de C++Builder compilan, y lectores independientes pypdf/XML verifican los datos y las identidades persistidas
La versión 2.816.0 agregó CMS nativo en streaming con OpenSSL 3 y verificación exacta de firmas PDF; seis targets nativos de compiladores Linux/Windows pasan cada uno 40 aserciones de provider y 13 de documentos, los verificadores originales de Windows autentican las firmas generadas, ambos headers públicos de C++Builder compilan, y checks independientes de OpenSSL/pypdf/MuPDF verifican los fixtures reales de DER y PDF
La versión 2.817.0 completó la paridad JSON/C ABI: cada arquitectura pasa 34 aserciones nativas/FPC de firma, 516 aserciones reales de firma por DLL y 11 checks independientes de CMS; la comparación pasa 28 aserciones nativas/FPC y 82 reales de DLL por arquitectura más 123 checks independientes de JSON/HTML/PDF, y las regresiones existentes de operaciones, ABI y OCR siguen en verde
La versión 2.818.0 agregó publicación nativa headless de firmas PDF incrementales; cada uno de los seis targets de compiladores Linux/Windows pasa 45 aserciones de firma plain/CAdES y 31 cifradas, ambas interfaces de C++Builder compilan, y lectores independientes y OpenSSL verifican 54 PDFs reales y 60 firmas ByteRange sin debilitar los checks de firmas cifradas
La versión 2.819.0 agregó renderizado PNG nativo con Cairo/FreeType por CPU y advances canónicos de fuentes estándar; dos toolchains nativos de FPC Linux pasan cada uno 128 aserciones acotadas de renderizado y 946 aserciones independientes de píxeles/geometría pypdf/MuPDF, cuatro targets de compiladores de Windows se construyen desde fuentes frescas, ambos headers públicos de C++Builder compilan, y las regresiones de fuentes estándar coinciden con 1085 orígenes de caracteres independientes en 15 páginas reales
La versión 2.820.0 completó el workstream nativo de Linux con apariencias reales embebidas de widgets Unicode: cada toolchain de FPC Linux pasa 19 aserciones de metadatos y 58 de apariencias, cada uno de los cuatro targets de compiladores de Windows pasa 19 y 52, ambas interfaces de C++Builder compilan, y los lectores independientes validan 42 PDFs reales con 1294 aserciones incluyendo prefijos de origen originales, seguridad AES, datos exactos de fuentes/glifos/ToUnicode y fidelidad raster
Los once workstreams acotados originales tienen evidencia de versión publicada arriba; las capacidades más amplias solicitadas en el objetivo posterior de finalización siguen abiertas hasta que su implementación y la aceptación requerida estén completas
Finalización de capacidades activas
El plan de finalización registra los releases posteriores y el trabajo restante; las implementaciones candidatas y los resultados parciales de targets no establecen una funcionalidad publicada ni la finalización del objetivo
| Entrega activa | Aceptación restante |
|---|---|
| Transporte FDF y de anotaciones | Construyan sobre el 2.973.0 publicado con grafos de anotaciones FDF binarios, estados de apariencia, recursos compartidos y reemplazo transaccional y el 2.974.0 con la eliminación transaccional de anotaciones; completen la eliminación del árbol de campos Widget, los archivos embebidos, cadenas de actions más amplias y más modelado de políticas de campos con verificación independiente de la salida |
| Rendering nativo | Construyan sobre el 2.972.0 publicado con apariencias predeterminadas de anotaciones y clipping de texto; completen fuentes variables no predeterminadas, más estados gráficos, combinaciones de fuentes y transformaciones, comparaciones independientes de geometría y raster, políticas de impresión y reconstrucción de fuentes de prueba |
| CSS y layout de rich text | Construyan sobre los style sheets, perfiles de medios, recursos externos y matemática numérica finita publicados; completen más propiedades, selectores y features de medios, tablas, imágenes y layout general |
| Runtime dinámico de XFA | Edición general del DOM de template y formulario, remerge explícito, reglas de ocurrencia y binding, alias estables, medios externos y más consumidores con cancelación transaccional y verificación con lectores persistidos |
La implementación y aceptación de release actuales de FPC exigen la versión 3.3.1 o posterior en cada plataforma y registran el build real del compilador; los resultados de compiladores antiguos de arriba retienen sus identidades históricas y no son gates de release actuales
Restricciones de ejecución
Trabajen directamente en el directorio canónico del proyecto, preserven las ediciones ajenas, ejecuten los checks no GUI con el lanzamiento del visor suprimido, hagan stage solo de los cambios de la tarea y nunca hagan push
Actualicen solo la documentación canónica en-us durante la implementación; la sincronización de traducciones es una tarea separada