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
| Tag | A 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. |
|---|---|
| NewValue | A 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;