ReplaceTag

מניפולציה של עמודים

תיאור

מבצע חיפוש-והחלפה מילולי על תוכן הטקסט של העמוד הנבחר כרגע. כל הופעה של Tag באופרטורי הצגת-הטקסט של העמוד מוחלפת ב-NewValue ואת זרם האופרטורים כותבים מחדש במקום. מחזירה את מספר ההחלפות שבוצעו

This is a content-stream level operation that does not relate to tagged PDF (structure tree) tagging — use BeginTag/EndTag for that. ReplaceTag is intended for form-letter style templates where placeholder tokens (for example {{customer-name}}) are pre-drawn into a template PDF and then filled in by code.

תחביר

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, ', ") נחפש. Placeholders שמוקפו או פוצלו על פני כמה אופרטורים עשויים שלא להימצא — השאירו את placeholder התבנית קצר וציירו אותו כמחרוזת אחת. הפונקציה אינה מחפשת תוכן annotations, ערכי שדות טופס או קבצים מוטמעים.

בחרו תחביר placeholder שסביר שלא יופיע בתוכן אמיתי, כגון {{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