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