ReplaceTag

Manipulação de páginas

Descrição

Executa uma pesquisa e substituição literal no conteúdo de texto da página atualmente selecionada. Todas as ocorrências de Tag nos operadores de apresentação de texto da página são substituídas por NewValue e o fluxo de operadores é reescrito no local. Devolve o número de substituições efetuadas

Esta é uma operação ao nível do fluxo de conteúdo e não está relacionada com a etiquetagem de Tagged PDF (árvore de estrutura) — utilize BeginTag/EndTag para esse efeito. ReplaceTag destina-se a modelos do tipo formulário de correspondência, nos quais os tokens de marcador de posição (por exemplo, {{customer-name}}) são previamente desenhados num modelo PDF e depois preenchidos por código

Sintaxe

Delphi

Function TPDFlib.ReplaceTag(Const Tag, NewValue: WideString): Integer;

ActiveX

Function PDFlib::ReplaceTag(Tag As String, NewValue As String) As Long

DLL

int DLReplaceTag(int InstanceID, const wchar_t * Tag, const wchar_t * NewValue);

Parâmetros

TagA cadeia literal a pesquisar no conteúdo de texto da página. A correspondência é sensível a maiúsculas e minúsculas e aplica-se apenas à página atualmente selecionada — chame uma vez por página ao processar um modelo com várias páginas
NewValueA cadeia de substituição. Pode ser mais longa ou mais curta do que Tag; o esquema envolvente não é reajustado, pelo que substituições muito grandes podem ultrapassar a coluna original

Valor devolvido

O número de vezes que Tag foi encontrado e substituído na página selecionada. Zero significa que não foram encontradas ocorrências (ou nenhuma página está selecionada)

Observações

Só é pesquisado o texto dentro de operadores de apresentação de texto (Tj, TJ, ', "). Os marcadores de posição com kerning ou divididos por vários operadores podem não corresponder — mantenha curtos os marcadores de posição dos modelos e desenhe-os como uma única cadeia. A função não pesquisa o conteúdo das anotações, os valores dos campos de formulário nem os ficheiros incorporados

Escolha uma sintaxe de marcador de posição cuja ocorrência em conteúdo real seja improvável, como {{name}}, <<Customer>> ou ~~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;

Consulte também

ReplaceImage, SelectPage, PageCount