ReplaceTag
Oldalmanipuláció
Leírás
A jelenleg kijelölt oldal szövegtartalmán szó szerinti keresést és cserét hajt végre. Az oldal szövegmegjelenítő operátoraiban az Tag minden előfordulását NewValue értékre cseréli, majd helyben újraírja az operátor-adatfolyamot. A végrehajtott cserék számát adja vissza
Ez egy tartalomfolyam-szintű művelet, amely nem kapcsolódik a címkézett PDF (struktúrafa) címkézéséhez — ehhez használja a BeginTag/EndTag függvényt. A ReplaceTag űrlaplevél-stílusú sablonokhoz készült, ahol a helyőrző jelölők (például {{customer-name}}) előre meg vannak rajzolva egy sablon-PDF-be, majd kóddal kitöltődnek
Szintaxis
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);
Paraméterek
| Tag | Az oldal szövegtartalmában keresendő literál karakterlánc. Az egyezés kis- és nagybetűérzékeny, és csak az aktuálisan kiválasztott oldalra vonatkozik – többoldalas sablon feldolgozásakor oldalanként egyszer hívja |
|---|---|
| NewValue | A helyettesítő karakterlánc. Hosszabb vagy rövidebb lehet, mint a Tag; a környező elrendezés nem tördelődik újra, így a nagyon nagy helyettesítések túlnyúlhatnak az eredeti oszlopon |
Visszatérési érték
Annak száma, ahányszor a Tag elem megtalálható és lecserélhető volt a kijelölt oldalon. A nulla azt jelenti, hogy nem volt előfordulás, vagy nincs kijelölt oldal
Megjegyzések
Csak a szövegmegjelenítő operátorokon (Tj, TJ, ', ") belüli szöveg kereshető. A kerningelt vagy több operátorra osztott helyőrzők esetleg nem egyeznek – a sablonhelyőrzőket tartsa röviden, és egyetlen karakterláncként rajzolja meg őket. A függvény nem keres annotációtartalomban, űrlapmező-értékekben vagy beágyazott fájlokban
Valós tartalomban valószínűtlenül előforduló helyőrzőszintaxist válasszon, például {{name}}, <<Customer>> vagy ~~SKU~~
Példa
// 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;