THPDFHeadlessDocument.SetTextFieldValueWithAppearance
procedure SetTextFieldValueWithAppearance(FieldIndex: Integer;
const Text: UnicodeString; const TrueTypeFont: SysUtils.TBytes;
const Options: THPDFHeadlessTextAppearanceOptions);
Actualiza un campo de texto AcroForm terminal escribible y construye una apariencia normal explícita para cada widget existente, usando el mismo grafo de objetos del documento en Linux nativo y Windows
Los rectángulos del widget aportan las dimensiones de la apariencia; el Q heredado del campo aporta alineación izquierda, centro o derecha cuando está presente; en caso contrario se aplica la alineación de las opciones
El perfil soporta texto plano de una línea y multilínea, word wrapping medido con fallback de caracteres, saltos de línea CR/LF, tamaño fijo o autoajuste, celdas comb con un MaxLen heredado positivo y rotaciones de widget en múltiplos de 90 grados
Los scripts complejos, los runs bidi, las ligaduras y las secuencias combinantes usan HarfBuzz y FriBidi cuando ShapeComplexText está activado; el texto Unicode directo sigue siendo independiente de esos runtimes, y los glifos ausentes o los pares surrogate mal formados producen un diagnóstico de apariencia
El wrapping multilínea complejo opera sobre clusters Unicode lógicos antes de la reordenación bidi y del reshaping; las celdas comb conservan el perfil directo de un glifo por escalar
Para un campo rich-text existente, este método sustituye el contenido por un único estilo plano y sincroniza V, RV y la apariencia de todos los widgets; usa SetRichTextFieldValueWithAppearance para suministrar estilos mezclados
Los campos de contraseña generan una viñeta por valor escalar Unicode y conservan el valor Unicode real del campo en V; los mapeos de glifos de la apariencia y el texto de accesibilidad contienen la máscara, mientras que el valor sigue la política de cifrado del documento
Los campos de contraseña no pueden ser campos multiline ni comb; el Unicode mal formado, los caracteres de control, los glifos de máscara ausentes, la cancelación y el agotamiento de recursos preservan el campo original
Los campos file-select muestran la ruta Unicode literal como texto ordinario del campo; esta operación no abre, ejecuta ni adjunta el archivo seleccionado
Las fuentes exigen contornos TrueType con nombre válidos y métricas reales, con flags de incrustación installable o editable; la incrustación de la fuente completa respeta los permisos no-subsetting y rechaza los permisos restricted, preview-and-print, bitmap-only, ausentes y desconocidos
El método prepara todos los reemplazos de campos, diccionarios de apariencia, objetos nuevos de fuente y Form, y los presupuestos de serialización antes de cambiar un campo; los fallos de preflight preservan su valor previo y sus enlaces de apariencia
Los objetos nuevos son propiedad del documento y se guardan a través del writer incremental acotado original, incluido el cifrado de las cadenas y streams nuevos bajo la política AES-256 R5 o R6 original
NeedAppearances se limpia después de que apariencias explícitas cubran el campo modificado, salvo que quede otra edición de solo valor o un requisito de apariencia original sin resolver
Cuando el flag original es true, los demás campos que no son de firma lo conservan en true de forma conservadora hasta satisfacer sus requisitos de apariencia; usa los métodos separados de choice y button para regenerar esos campos
El solo lectura, MaxLen, las firmas existentes, los permisos de certificación, los permisos de relleno AES, la protección de origen, la cancelación y las políticas de salida atómica siguen en vigor
Si tanto el documento como las opciones de apariencia especifican cancellation tokens, deben ser el mismo token
Ver THPDFHeadlessTextAppearanceOptions y HPDFBuildHeadlessTextAppearance para el contrato acotado de fuente y layout