ReplaceTag
Manipolazione delle pagine
Descrizione
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 TPDFlib.ReplaceTag(Const Tag, NewValue: WideString): Integer;
ActiveX
Function PDFlib::ReplaceTag(Tag As String, NewValue As String) As Long
DLL
int DLReplaceTag(int InstanceID, const wchar_t * Tag, const wchar_t * 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;