ReplaceTag

Манипулиране на страници

Описание

Извършва буквално търсене и замяна върху текстовото съдържание на текущо избраната страница. Всяко срещане на Tag в операторите за показване на текст на страницата се заменя с NewValue и потокът от оператори се пренаписва на място. Връща броя на извършените замени

Това е операция на ниво content stream, която не е свързана с маркиран PDF (structure tree) маркиране — използвайте BeginTag/EndTag за това. ReplaceTag е предназначена за шаблони от тип формулярно писмо, където заместителни токени, например {{customer-name}}, са предварително изрисувани в шаблонен PDF и след това се попълват от код

Синтаксис

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

Параметри

TagБуквалният низ, който трябва да се търси в текстовото съдържание на страницата. Съвпадението е чувствително към главни и малки букви и се отнася само за текущо избраната страница — извиквайте функцията веднъж на страница при обработка на многостраничен шаблон
NewValueНизът за замяна. Може да е по-дълъг или по-къс от Tag; околната подредба не се прелива отново, така че много големи заместители могат да излязат извън първоначалната колона

Върната стойност

Броят пъти, в които Tag е намерен и заменен на избраната страница. Нула означава, че не са намерени съвпадения или не е избрана страница

Забележки

Търсят се само текстове вътре в оператори за показване на текст (Tj, TJ, ', "). Заместители, които са кернирани или разделени между няколко оператора, може да не съвпаднат — дръжте заместителите в шаблона кратки и ги изрисувайте като един низ. Функцията не търси в съдържание на анотации, стойности на полета на формуляри или вградени файлове

Избирайте синтаксис за заместители, който е малко вероятно да се срещне в реалното съдържание, например {{name}}, <<Customer>> или ~~SKU~~

Пример

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

Вижте също

ReplaceImage, SelectPage, PageCount