ReplaceTagA
Manipulation de pages
Description
Le A final indique le point d’entrée ANSI (char) de la DLL ; la surface ActiveX/COM n’expose que la forme Unicode. Le comportement est identique à celui de ReplaceTag et les arguments de chaîne sont interprétés selon la page de codes SetAnsiMode actuelle
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 DLReplaceTagA(InstanceID: Integer; Tag, NewValue: PAnsiChar): Integer;
DLL
int DLReplaceTagA(int InstanceID, const char * Tag, const char * NewValue);
Paramètres
| Tag | Chaî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 |
|---|---|
| NewValue | Chaî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;