Intercambio enriquecido de formularios en el C ABI nativo de Linux

La operación forms.import existente acepta FDF RV y XFDF value-richtext a través de los callbacks versionados InputIO del llamador y publica un PDF actualizado genuino mediante OutputIO

La versión V1 del ABI, los símbolos exportados y el layout de la tabla de callbacks permanecen sin cambios; este binding apunta al Linux nativo x64

{"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 inline heredados, los colores RGB, el weight, la itálica, el underline, el strikeout y la alineación de párrafo a través del decoder nativo acotado de XHTML

Las familias enriquecidas opcionales con nombre 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 enriquecidos reales, junto con el programa regular usado por los campos escalares

La configuración de Fontconfig del despliegue debe suministrar la familia y las faces deseadas; el fallback normal del provider se aplica cuando una face solicitada no está disponible, y fontStyles describe los slots de estilo cargados en lugar de certificar faces de fuentes instaladas

Los programas de fuentes regresan al llamador dentro de los streams de fuentes embebidas y las apariencias reales del PDF preparado; ninguna ruta de archivo de fuentes 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 retienen sus propios valores

Campo de resultadoSignificado
updatedConteo de campos terminales cambiados, incluidos los cambios de solo estilo soportados
richFieldCountNúmero de campos enriquecidos en la entrada decodificada, incluidos los valores equivalentes sin cambios
fontStylesSlots de fuentes realmente cargados en orden regular, bold, italic, boldItalic
richXMLProfileinline-xhtml-v1 o inline-xhtml-font-families-v1 cuando la entrada decodificada contiene campos enriquecidos
fontFamiliesEtiquetas de familias configuradas cuando se suministra el array opcional de familias con nombre

El markup enriquecido canónico y no canónico equivalentes es idempotente cuando su texto y estilos soportados coinciden; los campos de solo lectura sin cambios preservan su RV de origen, mientras que los estilos soportados distintos aplican la protección de solo lectura

Una importación de cero cambios publica el snapshot privado exacto ya confirmado del PDF, incluidas las revisiones firmadas o cifradas existentes, sin acumular revisiones vacías de cross-reference; los bytes de entrada cambiados del llamador o los archivos de respaldo no reemplazan ese snapshot cargado

La importación preserva la seguridad AES autenticada, las revisiones realmente firmadas, las decisiones DocMDP P1/P2/P3 y los locks FieldMDP a través de la transacción nativa de importación enriquecida

Los programas de fuentes combinados se acotan 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 resultados siguen activos

Los callbacks se ejecutan de forma síncrona en el thread 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 confirma solo después de que ambos callbacks de PDF y JSON tengan éxito; un error de callback o una cancelación preserva su estado anterior, mientras que el llamador descarta cualquier byte parcial ya recibido por un sink

Las capabilities anuncian formData.richXML=true, el valor por defecto compatible richXMLProfile=inline-xhtml-v1, 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

Callbacks y límites de datos de formulario · Native Linux C ABI · Opciones de trust de firmas

Los style sheets internos aplican selectores acotados, importance, especificidad y orden de fuente a valores rich importados reales y apariencias guardadas; los imports equivalentes repetidos 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

Para la aceptación use FPC 3.3.1 o posterior con unidades de runtime coincidentes y registre el build real del compilador usado

El parsing de operaciones JSON preserva NUL escapado y claves de objetos Unicode; un NUL en richTextResources se rechaza antes de que el documento cambie, en lugar de desaparecer silenciosamente durante la decodificación JSON

El gate reutilizable Tests/Linux/JSONOperationUnicode/Run.py verifica el parser de producto seleccionado, mientras que la suite real de callbacks también verifica la librería compartida compilada y la transacción PDF