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