ReplaceTag
Obdelava strani
Opis
Nad besedilno vsebino trenutno izbrane strani izvede dobesedno iskanje in zamenjavo. Vsaka pojavitev Tag v operatorjih za prikaz besedila na strani se zamenja z NewValue, operatorski tok pa se prepiše na mestu. Vrne število izvedenih zamenjav
To je operacija na ravni toka vsebine in se ne nanaša na označevanje označenega PDF (strukturno drevo) — za to uporabite BeginTag/EndTag. ReplaceTag je namenjen predlogam v stilu obrazcev, kjer se ograda (na primer {{customer-name}}) v PDF predlogo vnaprej nariše in jo nato zapolni koda
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 | dejanski niz za iskanje v besedilni vsebini strani. Ujemanje ločuje velike in male črke in velja le za trenutno izbrano stran — pri obdelavi večstranske predloge pokličite enkrat na stran |
|---|---|
| NewValue | Zamenjalni niz. Lahko je daljši ali krajši od Tag; okoljska postavitev se ne preoblikuje, zato lahko zelo velike zamenjave preidejo čez prvotni stolpec |
Vrnjena vrednost
Število najdb in zamenjav Tag na izbrani strani. Ničla pomeni, da pojavitve niso bile najdene (ali ni izbrana nobena stran)
Opombe
Išče se samo besedilo znotraj operatorjev za prikaz besedila (Tj, TJ, ', "). Ograde, ki so bile spremenjene s kerningom ali razdeljene čez več operatorjev, morda ne bodo mogoče ujemati — ogrado predlog naj bo kratka in narisana kot en sam niz. Funkcija ne išče po vsebini pripisov, vrednostih polj obrazcev ali vgrajenih datotekah
Izberite slovnico vsebnika, ki se v resnični vsebini verjetno ne pojavi, npr. {{name}}, <<Customer>> ali ~~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;