ReplaceTag

Χειρισμός σελίδων

Περιγραφή

Εκτελεί κυριολεκτικό find-and-replace στο περιεχόμενο κειμένου της επιλεγμένης σελίδας. Κάθε εμφάνιση του Tag στους τελεστές εμφάνισης κειμένου της σελίδας αντικαθίσταται με το NewValue και το stream τελεστών ξαναγράφεται στη θέση του. Επιστρέφει το πλήθος των αντικαταστάσεων.

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Η κυριολεκτική συμβολοσειρά προς αναζήτηση στο περιεχόμενο κειμένου της σελίδας. Η αντιστοίχιση είναι case-sensitive και εφαρμόζεται μόνο στην τρέχουσα επιλεγμένη σελίδα — καλείτε μία φορά ανά σελίδα όταν επεξεργάζεστε template πολλαπλών σελίδων
NewValueΗ συμβολοσειρά αντικατάστασης. Μπορεί να είναι μεγαλύτερη ή μικρότερη από το Tag· η γύρω διάταξη δεν αναδιπλώνεται, οπότε πολύ μεγάλες αντικαταστάσεις μπορεί να ξεφύγουν από την αρχική στήλη.

Τιμή επιστροφής

Το πλήθος των φορών που το Tag βρέθηκε και αντικαταστάθηκε στην επιλεγμένη σελίδα. Μηδέν σημαίνει καμία εμφάνιση (ή καμία επιλεγμένη σελίδα).

Παρατηρήσεις

Αναζητείται μόνο κείμενο μέσα σε τελεστές εμφάνισης κειμένου (Tj, TJ, ', "). Placeholders που έχουν υποστεί kerning ή έχουν κοπεί σε πολλαπλούς τελεστές μπορεί να μην ταιριάξουν — κρατήστε τα placeholders των προτύπων σύντομα και σχεδιάστε τα ως μία συμβολοσειρά. Η συνάρτηση δεν αναζητά σε περιεχόμενα σχολιάσεων, τιμές πεδίων φόρμας ή ενσωματωμένα αρχεία

Επιλέξτε σύνταξη 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