Intercambio rich de formularios en el C ABI Linux nativo
La operación forms.import existente acepta FDF RV y XFDF value-richtext a través de los callbacks InputIO versionados del llamador y publica un PDF actualizado genuino mediante OutputIO
La versión del ABI V1, los símbolos exportados y el layout de la tabla de callbacks siguen sin cambios; este binding apunta a Linux x64 nativo
{"schemaVersion":1,"type":"forms.import","format":"xfdf","fontFamily":"DejaVu Sans","fontSize":12}
El PDF de destino ya debe estar cargado; InputIO suministra los bytes reales de datos de formulario, no otro PDF
El perfil inline-xhtml-v1 preserva el orden mixto de texto Unicode, los saltos de párrafo y de línea explícitos, los tamaños de fuente en línea heredados, los colores RGB, el weight, la cursiva, el underline, el strikeout y la alineación de párrafo a través del decoder XHTML nativo acotado
Las familias de fuentes rich con nombre opcionales seleccionan programas configurados con listas de familias CSS heredadas; el layout CSS arbitrario, las hojas de estilo externas, las tablas, las imágenes y la alineación vertical siguen siendo capacidades separadas
fontFamily selecciona los programas reales regular, bold, italic y bold-italic del provider nativo de fuentes; solo se cargan los estilos exigidos por los valores rich reales, junto con el programa regular usado por los campos escalares
La configuración Fontconfig del despliegue debe suministrar la familia y los faces deseados; el fallback normal del provider se aplica cuando un face solicitado no está disponible, y fontStyles describe los slots de estilo cargados en lugar de certificar los faces de fuentes instalados
Los programas de fuentes regresan al llamador dentro de los streams de fuentes embebidas y las apariencias reales del PDF preparado; ninguna ruta de fichero de fuente se expone en la respuesta JSON
Cuando fontSize es cero, el XHTML sin estilos usa el valor por defecto de 12 puntos del decoder; los tamaños de fuente XHTML soportados explícitos conservan sus propios valores
| Campo del resultado | Significado |
|---|---|
updated | Recuento de campos terminales modificados, incluidos los cambios de solo estilo soportados |
richFieldCount | Número de campos rich en la entrada decodificada, incluidos los valores sin cambios equivalentes |
fontStyles | Slots de fuente realmente cargados en orden regular, bold, italic, boldItalic |
richXMLProfile | inline-xhtml-v1 o inline-xhtml-font-families-v1 cuando la entrada decodificada contiene campos rich |
fontFamilies | Etiquetas de familias configuradas cuando se suministra el array opcional de familias con nombre |
El markup rich canónico y no canónico equivalentes es idempotente cuando su texto y estilos soportados coinciden; los campos de solo lectura sin cambios conservan su RV de origen, mientras que los estilos soportados distintos aplican la protección de solo lectura
Una importación sin cambios publica el snapshot privado exacto ya confirmado del PDF, incluidas las revisiones firmadas o cifradas existentes, sin acumular revisiones de cross-reference vacías; los bytes de entrada del llamador cambiados o los ficheros de respaldo modificados no reemplazan ese snapshot cargado
La importación preserva la seguridad AES autenticada, las revisiones firmadas reales, las decisiones DocMDP P1/P2/P3 y los locks FieldMDP mediante la transacción nativa de importación rich
Los programas de fuentes combinados están acotados a un cuarto de limits.memoryBytes, además del límite nativo por fuente; los límites existentes de datos de formulario, glifos, objetos, salida y resultado siguen activos
Los callbacks se ejecutan de forma síncrona en el hilo llamador; se aceptan callbacks parciales de entrada y salida, y la cancelación sigue activa durante el parsing, la carga de fuentes, la preparación de apariencias y la publicación
El handle se confirma solo después de que ambos callbacks de PDF y JSON tengan éxito; un error o cancelación de callback preserva su estado anterior, mientras que el llamador descarta cualquier byte parcial ya recibido por un sink
Las capacidades anuncian formData.richXML=true, el richXMLProfile=inline-xhtml-v1 por defecto compatible, ambos richXMLProfiles, la selección opcional de familias con nombre de hasta dieciséis etiquetas y los cuatro fontStyles soportados; el intercambio de anotaciones sigue siendo false
Form-data callbacks and limits · Native Linux C ABI · Signature trust options
Las style sheets internas aplican selectores acotados, importancia, especificidad y orden de fuente a los rich values importados reales y a las appearances guardadas; las importaciones equivalentes repetidas y la publicación fallida retienen las garantías transaccionales existentes
richTextResources suministra texto CSS enlazado e importado a través de la operación execute-json-v1 sin cambios
Use FPC 3.3.1 o posterior con unidades de runtime coincidentes, y registre el build real del compilador usado para la aceptación
El parseo de operaciones JSON preserva los NUL escapados y las claves de objetos Unicode en ambas líneas de compiladores FPC soportadas; un NUL en richTextResources se rechaza antes de que el documento cambie, en lugar de desaparecer silenciosamente durante la decodificación JSON
La puerta reutilizable Tests/Linux/JSONOperationUnicode/Run.py comprueba el parser de producto seleccionado, mientras que la suite real de callbacks también comprueba la librería compartida compilada y la transacción PDF