ReplaceTag
Manipulacija stranicama
Opis
Obavlja doslovno traženje i zamjenu u tekstualnom sadržaju trenutačno odabrane stranice. Svaka pojava Tag u operatorima prikazivanja teksta stranice zamjenjuje se s NewValue, a tok operatora prepisuje se na mjestu. Vraća broj izvršenih zamjena
This is a content-stream level operation that does not relate to tagged PDF (structure tree) tagging — use BeginTag/EndTag for that. ReplaceTag is intended for form-letter style templates where placeholder tokens (for example {{customer-name}}) are pre-drawn into a template PDF and then filled in by code.
Sintaksa
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 | Doslovni niz znakova za pretraživanje u tekstualnom sadržaju stranice. Podudaranje razlikuje velika i mala slova i odnosi se samo na trenutačno odabranu stranicu — pri obradi predloška s više stranica pozovite jednom po stranici. |
|---|---|
| NewValue | Zamjenski niz znakova. Može biti dulji ili kraći od Tag; okolni se raspored ne prekraja, pa vrlo velike zamjene mogu prijeći izvorni stupac |
Povratna vrijednost
Broj puta koliko je Tag pronađen i zamijenjen na odabranoj stranici. Nula znači da nema pojava (ili nije odabrana stranica)
Napomene
Pretražuje se samo tekst unutar operatora prikaza teksta (Tj, TJ, ', "). Rezervirana mjesta koja su prošla kerning ili su raspodijeljena između više operatora možda se neće pronaći — držite rezervirana mjesta u predlošku kratkima i iscrtajte ih kao jedan niz znakova. Funkcija ne pretražuje sadržaje napomena, vrijednosti polja obrazaca ni ugrađene datoteke.
Choose placeholder syntax that is unlikely to occur in real content, such as {{name}}, <<Customer>>, or ~~SKU~~.
Primjer
// 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;