ReplaceTagA
Manipolazione delle pagine
Descrizione
Il suffisso A indica l'entry point DLL ANSI (char); l'interfaccia ActiveX/COM espone soltanto la forma Unicode. Il comportamento è identico a ReplaceTag e gli argomenti stringa vengono interpretati usando la code page corrente di SetAnsiMode
Esegue ricerca e sostituzione letterale nella pagina. Ogni Tag negli operatori testuali viene sostituito con NewValue e il flusso riscritto. Restituisce il numero di sostituzioni
È un'operazione sul flusso, non sui tag PDF con struttura — per quelli usare BeginTag/EndTag. ReplaceTag serve per modelli con segnaposto già disegnati, ad esempio {{customer-name}}, compilati dal codice
Sintassi
Delphi
Function DLReplaceTagA(InstanceID: Integer; Tag, NewValue: PAnsiChar): Integer;
DLL
int DLReplaceTagA(int InstanceID, const char * Tag, const char * NewValue);
Parametri
| Tag | Stringa letterale da cercare nel contenuto testuale della pagina. La corrispondenza distingue tra maiuscole e minuscole e si applica soltanto alla pagina attualmente selezionata; chiamare una volta per ogni pagina durante l'elaborazione di un modello multipagina |
|---|---|
| NewValue | Stringa sostitutiva, che può essere più lunga o corta di Tag. Il layout circostante non viene ridisposto, quindi sostituzioni grandi possono superare la colonna. |
Valore restituito
Numero di occorrenze di Tag trovate e sostituite nella pagina selezionata. Zero indica nessuna occorrenza o nessuna pagina selezionata.
Note
Viene cercato soltanto il testo negli operatori di visualizzazione del testo (Tj, TJ, ', "). I segnaposto a cui è stata applicata la crenatura o suddivisi tra più operatori potrebbero non corrispondere: mantenere brevi i segnaposto del modello e disegnarli come un'unica stringa. La funzione non cerca nel contenuto delle annotazioni, nei valori dei campi modulo o nei file incorporati
Scegliere una sintassi segnaposto improbabile nel contenuto reale, come {{name}}, <<Customer>> o ~~SKU~~.
Esempio
// 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;