ReplaceTagA

معالجة الصفحة

الوصف

الحرف المُلحق A يُشير إلى نقطة دخول ANSI (char) في DLL؛ بينما تكشف واجهة ActiveX/COM الشكل Unicode فقط. السلوك مطابق لـ ReplaceTag وتُفسَّر وسائط السلاسل النصية باستخدام صفحة الرموز الحالية لـ SetAnsiMode

يجري بحثًا واستبدالًا حرفيًا على المحتوى النصي للصفحة المحددة حاليًا. ويُستبدل كل ظهور لـ Tag في عوامل عرض نص الصفحة بـ NewValue ويُعاد كتابة تدفق العوامل في مكانه. وتُرجع عدد الاستبدالات التي أُجريت

هذه عملية على مستوى تدفق المحتوى لا علاقة لها بوسم PDF الموسوم (شجرة البنية) — استخدم BeginTag/EndTag لذلك. ReplaceTag مخصصة لقوالب نمط الخطابات النموذجية حيث تُرسَم رموز العناصر النائبة (مثل {{customer-name}}) سلفًا في قالب PDF ثم تملأ بالشيفرة

الصيغة

Delphi

Function DLReplaceTagA(InstanceID: Integer; Tag, NewValue: PAnsiChar): Integer;

DLL

int DLReplaceTagA(int InstanceID, const char * Tag, const char * NewValue);

المعاملات

Tagالسلسلة الحرفية المطلوب البحث عنها في المحتوى النصي للصفحة. المطابقة حساسة لحالة الأحرف وتنطبق على الصفحة المحددة حاليًا فقط — استدعِ مرة عن كل صفحة عند معالجة قالب متعدد الصفحات
NewValueسلسلة الاستبدال. وقد تكون أطول أو أقصر من Tag؛ ولن يُعاد تدفق التخطيط المحيط، فالاستبدالات الضخمة جدًا قد تتجاوز العمود الأصلي

قيمة الإرجاع

عدد المرات التي وُجد فيها Tag واستُبدل في الصفحة المحددة. الصفر يعني عدم العثور على أي ظهور (أو عدم وجود صفحة محددة)

ملاحظات

لا يشمل البحث إلا النص داخل عوامل عرض النص (Tj وTJ و' و"). وقد لا تتطابق العناصر النائبة التي خضعت لتقنين الأحرف أو انقسمت عبر عوامل متعددة — أبقِ عناصر القالب النائبة قصيرة وارسمها كسلسلة واحدة. ولا تبحث الدالة في محتويات التعليقات التوضيحية أو قيم حقول النماذج أو الملفات المضمّنة

يغير خصائص طابعة مخصصة أُنشئت بالدالة NewCustomPrinter

مثال

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