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 button junto con runs rich-text tipados originales; devuelve el número de campos modificados 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 origen siguen disponibles para la candidata

Los runs tipados generan apariencias directamente, sin un viaje de ida y vuelta de codificación/decodificación 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 /RV cuantizados

Esto permite campos de solo lectura 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 solo lectura, FieldMDP y DocMDP aunque el valor rich serializado resulte idéntico

La comparación es conservadora con las apariencias existentes: los PDF escritos externamente con resultados visuales equivalentes pero una representación de operadores o recursos distinta pueden exigir una actualización protegida ordinaria; esta API no promete salida no-op byte idéntica

Cuando cada campo solicitado está sin cambios y el grafo cargado no tiene ediciones pendientes, el PDF publicado es idéntico byte a byte al origen cargado, incluidos los bytes de cifrado AES existentes y las revisiones de firmas autenticadas; un array de actualización vacío sigue la misma regla, sujeto a las comprobaciones existentes de compatibilidad del origen

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

La publicación sin actualizaciones sigue realizando la validación de permisos y firmas, las comprobaciones de alias origen/destino, las comprobaciones de presupuesto de salida, la cancelación y el reemplazo atómico del destino; los campos de solo lectura y bloqueados exigen equivalencia genuina de valor y apariencia

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

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

Un array de bytes de fuente gestionado compartido se cuenta una vez entre actualizaciones; las asignaciones distintas consumen capacidad de fuente 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, valores mal formados, permisos, autenticación de firma fallida, cancelación o fallos de presupuesto dejan el destino anterior intacto, y los alias de origen/destino se rechazan

La API cubre transacciones mixtas nativas; el relleno typed-rich JSON de Windows, la extensión de callback de trabajos antigua, el intercambio de anotaciones y los datos FDF incrustados o incrementales son workflows separados

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