ReplaceTag

Sidemanipulering

Beskrivelse

Utfører en literal finn-og-erstatt på tekstinnholdet på den for tiden valgte siden. Hver forekomst av Tag i sidens tekstvisende operatorer erstattes med NewValue, og operatorstrømmen omskrives på stedet Returnerer antall utførte erstatninger

Dette er en operasjon på content stream-nivå som ikke har med tagget PDF (strukturtre)-tagging å gjøre — bruk BeginTag/EndTag til det. ReplaceTag er ment for brevmal-maler der plassholdertoken (for eksempel {{customer-name}}) er forhåndstegnet inn i en mal-PDF og deretter fylles ut av kode

Syntaks

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

Parametere

TagDen bokavelige strengen som skal søkes etter i sidens tekstinnhold. Treffet skiller store/små bokstaver og gjelder bare den valgte siden — kall én gang per side når du behandler en flersidig mal
NewValueErstatningsstrengen. Kan være lengre eller kortere enn Tag; den omgivende layouten flytes ikke på nytt, så svært store erstatninger kan løpe forbi den opprinnelige kolonnen

Returverdi

Antall ganger Tag ble funnet og erstattet på den valgte siden. Null betyr at ingen forekomster ble funnet (eller ingen side er valgt)

Merknader

Bare tekst inne i tekstvisningsoperatorer (Tj, TJ, ', ") søkes. Plassholdere som er kernete eller splittet over flere operatorer treffer kanskje ikke — hold malplassholdere korte og tegn dem som én enkelt streng. Funksjonen søker ikke i annotasjonsinnhold, skjemafeltverdier eller innebygde filer

Velg plassholdersyntaks som lite sannsynlig forekommer i ekte innhold, slik som {{name}}, <<Customer>> eller ~~SKU~~

Eksempel

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

Se også

ReplaceImage, SelectPage, PageCount