THPDFHeadlessDocument.SetTextFieldValueWithAppearance
procedure SetTextFieldValueWithAppearance(FieldIndex: Integer;
const Text: UnicodeString; const TrueTypeFont: SysUtils.TBytes;
const Options: THPDFHeadlessTextAppearanceOptions);
Atualiza um campo terminal gravável de texto AcroForm e constrói uma aparência normal explícita para cada widget existente, usando o mesmo grafo de objetos de documentos em Linux e Windows nativos
Os retângulos de widgets fornecem as dimensões da aparência; o Q herdado do campo fornece alinhamento à esquerda, ao centro ou à direita quando presente, caso contrário aplica-se o alinhamento das opções
O perfil suporta texto plain de linha única e multilinha, wrap medido de palavras com fallback de carateres, quebras de linhas CR/LF, tamanho fixo ou auto-fit, células comb com um MaxLen herdado positivo e rotações de widgets em múltiplos de 90 graus
Scripts complexos, runs bidi, ligaduras e sequências de combinação usam HarfBuzz e FriBidi quando ShapeComplexText está ativo; o texto Unicode direto permanece independente desses runtimes, e glyphs em falta ou surrogate pairs malformados produzem um diagnóstico de aparências
O wrap complexo multilinha opera sobre clusters lógicos Unicode antes da reordenação bidi e do reshape; as células comb mantêm o perfil direto de um glyph por scalar
Para um campo rich text existente, este método substitui o conteúdo dele por um estilo plain único e sincroniza V, RV e a aparência de todos os widgets; use SetRichTextFieldValueWithAppearance para fornecer estilos mistos
Campos de palavras-passe geram um bullet por scalar Unicode e mantêm o valor real Unicode do campo em V; os mapeamentos de glyphs de aparências e o texto de acessibilidade contêm a máscara, enquanto o valor segue a política de encriptação do documento
Campos de palavras-passe não podem ser campos multilinha nem comb; Unicode malformado, carateres de controlo, glyphs de máscaras em falta, cancelamento e esgotamento de recursos preservam o campo original
Campos de seleção de ficheiros apresentam o caminho Unicode literal como texto ordinário do campo; esta operação não abre, executa nem anexa o ficheiro selecionado
Os tipos de letra exigem contornos nomeados TrueType válidos e métricas reais, com flags de embedding instaláveis ou editáveis; o embedding completo de tipos de letra honra permissões de no-subsetting e rejeita permissões restritas, de pré-visualização e impressão, apenas de bitmap, ausentes e desconhecidas
O método prepara todas as substituições de campos, dicionários de aparências, objetos novos de tipos de letra e de Forms e orçamentos de serialização antes de alterar um campo; falhas de preflight preservam o valor anterior dele e as ligações de aparências dele
Objetos novos pertencem ao documento e são guardados através do escritor incremental delimitado original, incluindo a encriptação de strings e streams novas sob a política original AES-256 R5 ou R6
NeedAppearances é limpo depois de aparências explícitas cobrirem o campo alterado, a menos que outra edição apenas de valores ou um requisito original não resolvido de aparências permaneça
Quando a flag original é true, os restantes campos que não sejam de assinaturas mantêm-na conservadoramente como true até os requisitos de aparências deles serem satisfeitos; use os métodos separados de escolhas e de botões para regenerar esses campos
Só de leitura, MaxLen, assinaturas existentes, permissões de certificação, permissões AES de preenchimento de formulários, proteção de fontes, cancelamento e políticas de saída atómica permanecem em vigor
Se tanto o documento como as opções de aparências especificarem tokens de cancelamento, têm de ser o mesmo token
Veja THPDFHeadlessTextAppearanceOptions e HPDFBuildHeadlessTextAppearance para o contrato delimitado de tipos de letra e de layout