ReplaceTag

Manipulación de páginas

Descripción

Realiza una búsqueda y sustitución literal en el contenido de texto de la página seleccionada. Cada aparición de Tag en los operadores que muestran texto de la página se sustituye por NewValue y el flujo de operadores se reescribe en su lugar. Devuelve el número de sustituciones realizadas

Esta es una operación a nivel de flujo de contenido sin relación con el etiquetado de PDF etiquetado (árbol de estructura); utilice BeginTag/EndTag para ello. ReplaceTag está destinado a plantillas de cartas modelo donde los tokens de marcador de posición (por ejemplo, {{customer-name}}) se dibujan previamente en un PDF de plantilla y después se rellenan mediante código

Sintaxis

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

TagLa cadena literal que se buscará en el contenido de texto de la página. La coincidencia distingue entre mayúsculas y minúsculas y solo se aplica a la página seleccionada actualmente; llame una vez por página al procesar una plantilla de varias páginas
NewValueLa cadena de sustitución. Puede ser más larga o más corta que Tag; el diseño circundante no se redistribuye, por lo que las sustituciones muy grandes pueden sobrepasar la columna original

Valor devuelto

El número de veces que se encontró y sustituyó Tag en la página seleccionada. Cero significa que no se encontró ninguna aparición (o que no hay ninguna página seleccionada)

Observaciones

Solo se busca el texto dentro de operadores de visualización de texto (Tj, TJ, ', "). Puede que los marcadores de posición con interletraje o divididos entre varios operadores no coincidan; mantenga cortos los marcadores de la plantilla y dibújelos como una sola cadena. La función no busca en el contenido de anotaciones, los valores de campos de formulario ni los archivos incrustados

Elija una sintaxis de marcador improbable en contenido real, como {{name}}, <<Customer>> o ~~SKU~~

Ejemplo

// 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;

Véase también

ReplaceImage, SelectPage, PageCount