ReplaceTag

Manipulation de pages

Description

Effectue une recherche et un remplacement littéraux dans le texte de la page sélectionnée. Chaque occurrence de Tag dans les opérateurs d’affichage de texte de la page est remplacée par NewValue et le flux d’opérateurs est réécrit sur place. Renvoie le nombre de substitutions effectuées

Cette opération au niveau du flux de contenu ne concerne pas le balisage Tagged PDF ; utilisez BeginTag/EndTag pour cela. ReplaceTag vise les modèles de publipostage où des jetons tels que {{customer-name}} sont prétracés dans un PDF puis remplis par code

Syntaxe

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

Paramètres

TagChaîne littérale à rechercher dans le texte de la page. La correspondance est sensible à la casse et limitée à la page sélectionnée — appelez une fois par page pour un modèle multipage
NewValueChaîne de remplacement, éventuellement plus longue ou courte que Tag ; la disposition environnante n'est pas recomposée et les grandes substitutions peuvent dépasser la colonne d'origine

Valeur de retour

Nombre de fois où Tag a été trouvé et remplacé sur la page sélectionnée. Zéro signifie qu'aucune occurrence n'a été trouvée ou qu'aucune page n'est sélectionnée

Remarques

Seul le texte des opérateurs d’affichage (Tj, TJ, ', ") est recherché. Les espaces réservés crénés ou répartis sur plusieurs opérateurs peuvent ne pas correspondre ; gardez-les courts et tracez-les comme une chaîne unique. La fonction n’examine ni annotations, champs de formulaire ni fichiers incorporés

Choisissez une syntaxe d'espace réservé peu susceptible d'apparaître dans le contenu, telle que {{name}}, <<Customer>> ou ~~SKU~~

Exemple

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

Voir aussi

ReplaceImage, SelectPage, PageCount