ReplaceTag

Manipulacija stranicom

Opis

Vrši doslovno find-and-replace nad tekstualnim sadržajem trenutno izabrane stranice. Svako pojavljivanje Tag u operatorima za prikaz teksta stranice zamenjuje se sa NewValue, a tok operatora se prepisuje na mestu. Vraća broj izvršenih zamena

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

TagLiteralni string koji se traži u tekstualnom sadržaju stranice. Poklapanje razlikuje velika i mala slova i odnosi se samo na trenutno izabranu stranicu — pozovite jednom po stranici kada obrađujete višestranični šablon.
NewValueZamenski string. Može biti duži ili kraći od Tag-a; okolni raspored se ponovo ne prelama, pa vrlo velike zamene mogu preći prvobitnu kolonu

Povratna vrednost

Broj puta koliko je Tag nađen i zamenjen na izabranoj stranici. Nula znači da nije nađeno nijedno pojavljivanje (ili nije izabrana nijedna stranica)

Napomene

Pretražuje se samo tekst unutar operatora prikaza teksta (Tj, TJ, ', "). Placeholder-i koji su kernovani ili podeljeni na više operatora možda neće biti pronađeni — držite placeholder-e šablona kratkima i iscrtajte ih kao jedan string. Funkcija ne pretražuje sadržaj anotacija, vrednosti polja obrazaca ni ugrađene datoteke.

Izaberite sintaksu placeholder-a koja se retko javlja u stvarnom sadržaju, poput {{name}}, <<Customer>> ili ~~SKU~~

Primer

// 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;

Vidi takođe

ReplaceImage, SelectPage, PageCount