ReplaceTagA

Manipulación de páginas

Descripción

El sufijo A indica el punto de entrada ANSI (char) de la DLL; la superficie ActiveX/COM expone únicamente la forma Unicode. El comportamiento es idéntico a ReplaceTag y los argumentos de cadena se interpretan utilizando la página de códigos SetAnsiMode actual

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 DLReplaceTagA(InstanceID: Integer; Tag, NewValue: PAnsiChar): Integer;

DLL

int DLReplaceTagA(int InstanceID, const char * Tag, const char * 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