THPDFHeadlessDocument.SaveRichTextFieldUpdatesToFile

function SaveRichTextFieldUpdatesToFile(const FileName: string;
  const Updates: THPDFHeadlessRichTextFieldUpdates;
  const Options: THPDFHeadlessFormDataOptions): Integer;

Prepara y publica atómicamente un PDF independiente que contiene actualizaciones de texto escalar, choice y botón junto con runs rich-text tipados originales; devuelve la cantidad de campos cambiados manteniendo el grafo del documento cargado sin cambios

El grafo actual se serializa en una revisión privada autenticada antes de aplicar las actualizaciones; las ediciones de páginas y campos sin guardar existentes, las credenciales AES R5/R6, los identificadores de cifrado y los prefijos firmados del source siguen disponibles para el candidato

Los runs tipados generan apariencias directamente, sin un round trip de encode/decode de XML rich; /V y /RV describen el texto y estilos escritos, mientras que /AP conserva la precisión numérica PDF del engine de apariencias existente para los tamaños y colores tipados originales

Un no-op tipado exige valores planos y rich equivalentes más streams de apariencia generados iguales y grafos de fuentes/recursos resueltos iguales para cada widget; la comparación descifra los streams existentes y normaliza las referencias a objetos indirectos, en lugar de fiarse solo de los colores cuantizados de /RV

Esto permite campos read-only o bloqueados por firma genuinamente sin cambios; un color de pintado real, tamaño, fuente suministrada o apariencia de widget distinto sigue las restricciones normales de read-only, FieldMDP y DocMDP incluso cuando el valor rich serializado resulta ser idéntico

La comparación es conservadora con las apariencias existentes: los PDFs escritos externamente con resultados visuales equivalentes pero una representación de operador o recursos distinta pueden requerir una actualización protegida ordinaria

Cuando todos los campos solicitados están sin cambios y el grafo cargado no tiene ediciones pendientes, el PDF publicado es byte a byte idéntico al source cargado, incluidos los bytes de cifrado AES existentes y las revisiones de firmas autenticadas; un arreglo de actualizaciones vacío sigue la misma regla, sujeto a las verificaciones de compatibilidad de source existentes

Las ediciones pendientes en el grafo del llamador se serializan en el candidato una sola vez incluso cuando este método devuelve cero cambios de campos; los cambios de páginas o campos no relacionados sin guardar se preservan, y el grafo cargado original permanece sin cambios

La publicación sin actualizaciones igual realiza validación de permisos y firmas, verificaciones de alias origen/destino, verificaciones de presupuesto de salida, cancelación y reemplazo atómico del destino; los campos read-only y bloqueados exigen equivalencia genuina de valor y apariencia

Este comportamiento de preservación de bytes aplica a este método transaccional; el método SaveToFile general y las APIs separadas de importación FDF/XFDF conservan su comportamiento de guardado existente

El conteo de campos, los nombres duplicados, el Unicode, los tamaños de valores y las capacidades agregadas de texto usan Options; el conteo de runs tipados, las unidades agregadas de glifos, los bytes de fuentes suministradas, los bytes de valores rich, los objetos generados y los bytes de comparación de apariencias también usan los límites del documento cargado

Un arreglo de bytes de fuente administrado compartido se cuenta una vez entre actualizaciones; las asignaciones distintas consumen capacidad de fuentes de entrada separada aunque sus bytes coincidan, mientras que los presupuestos de objetos PDF generados y de salida siguen cubriendo todas las apariencias

Usa el cancellation token del documento para las opciones de formulario y apariencia; los campos inválidos, los valores malformados, los permisos, la autenticación de firmas fallida, la cancelación o los fallos de presupuesto dejan el destino anterior intacto, y los alias origen/destino se rechazan

La API cubre transacciones mixtas nativas; el llenado typed-rich JSON de Windows, la extensión de callbacks de trabajos anterior, el intercambio de anotaciones y los datos FDF embebidos o incrementales son flujos separados

Registro y arreglo de actualización · Importación rich FDF/XFDF