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
| Tag | La 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 |
|---|---|
| NewValue | La 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;