ReplaceTagA

Manipulación de páginas

Descripción

La A final indica el punto de entrada ANSI (char) de la DLL; la interfaz 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 actual de SetAnsiMode

Realiza una búsqueda y reemplazo literal en el contenido de texto de la página seleccionada actualmente. Cada aparición de Tag en los operadores de visualización de texto de la página se reemplaza por NewValue y la secuencia de operadores se vuelve a escribir en su lugar. Devuelve el número de sustituciones realizadas

Esta es una operación de nivel de flujo de contenido que no se relaciona con el etiquetado PDF etiquetado (árbol de estructura) — use BeginTag/EndTag para eso. ReplaceTag está pensado para 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 luego 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 mayúsculas de 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 reemplazo. Puede ser más larga o más corta que Tag; el diseño circundante no se recompone, por lo que sustituciones muy grandes pueden sobrepasar la columna original

Valor devuelto

La cantidad de veces que se encontró y reemplazó Tag en la página seleccionada Cero significa que no se encontró ninguna ocurrencia (o que no hay ninguna página seleccionada)

Observaciones

Solo se busca texto dentro de operadores que muestran texto (Tj, TJ, ', ") Los marcadores de posición con interletraje o divididos entre varios operadores pueden no coincidir; mantenga breves los marcadores de plantilla y dibújelos como una sola cadena La función no busca contenido de anotaciones, valores de campos de formulario ni archivos incrustados

Elija una sintaxis de marcador de posición que sea poco probable que aparezca 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