ReplaceTagA

Manipulação de páginas

Descrição

O sufixo A indica o ponto de entrada ANSI (char) da DLL; a superfície ActiveX/COM expõe apenas a forma Unicode. O comportamento é idêntico ao de ReplaceTag e os argumentos de string são interpretados usando a página de código atual definida por SetAnsiMode

Executa um find-and-replace literal no conteúdo de texto da página selecionada. Cada ocorrência de Tag nos operators de exibição de texto da página é substituída por NewValue e o operator stream é regravado in place. Retorna o número de substituições feitas.

This is a content-stream level operation that does not relate to tagged PDF (structure tree) tagging — use BeginTag/EndTag for that. ReplaceTag is intended for form-letter style templates where placeholder tokens (for example {{customer-name}}) are pre-drawn into a template PDF and then filled in by code.

Sintaxe

Delphi

Function DLReplaceTagA(InstanceID: Integer; Tag, NewValue: PAnsiChar): Integer;

DLL

int DLReplaceTagA(int InstanceID, const char * Tag, const char * NewValue);

Parâmetros

TagA string literal a procurar no conteúdo de texto da página. A busca diferencia maiúsculas de minúsculas e vale apenas para a página selecionada no momento — chame uma vez por página ao processar um template de múltiplas páginas.
NewValueA string de substituição. Pode ser maior ou menor que Tag; o layout ao redor não é refluido, então substituições muito grandes podem ultrapassar a coluna original.

Valor de retorno

O número de vezes que Tag foi encontrada e substituída na página selecionada. Zero significa que nenhuma ocorrência foi encontrada (ou nenhuma página está selecionada).

Observações

Só texto dentro de operadores de exibição de texto (Tj, TJ, ', ") é pesquisado. Placeholders que sofreram kerning ou foram divididos entre vários operadores podem não casar — mantenha os placeholders de template curtos e desenhe-os como uma string única. A função não pesquisa conteúdo de anotações, valores de campos de formulário nem arquivos embutidos.

Choose placeholder syntax that is unlikely to occur in real content, such as {{name}}, <<Customer>>, or ~~SKU~~.

Exemplo

// Fill in a single-page invoice template
PDF.LoadFromFile('invoice-template.pdf', '');
PDF.SelectPage(1);

PDF.ReplaceTag('{{customer-name}}', 'Alice Smith');
PDF.ReplaceTag('{{invoice-no}}',   'INV-2026-0042');
PDF.ReplaceTag('{{total}}',        '$1,234.56');

PDF.SaveToFile('invoice-INV-2026-0042.pdf');

// Multi-page template: iterate over pages
for I := 1 to PDF.GetPageCount do
begin
  PDF.SelectPage(I);
  PDF.ReplaceTag('{{customer-name}}', CustomerName);
end;

Veja também

ReplaceImage, SelectPage, PageCount