ReplaceTagA
Seitenbearbeitung
Beschreibung
Das nachgestellte A bezeichnet den ANSI-DLL-Einstiegspunkt (char); die ActiveX/COM-Oberfläche stellt nur die Unicode-Form bereit. Das Verhalten entspricht ReplaceTag, und Zeichenfolgenargumente werden mit der aktuellen Codepage von SetAnsiMode interpretiert
Führt im Textinhalt der aktuell ausgewählten Seite eine literale Suchen-und-Ersetzen-Operation aus. Jedes Vorkommen von Tag in den Textausgabeoperatoren der Seite wird durch NewValue ersetzt und der Operatorstream direkt neu geschrieben. Gibt die Anzahl der ausgeführten Ersetzungen zurück
Dies ist ein Vorgang auf Inhaltsstromebene, der nicht mit dem Tagging von Tagged PDF im Strukturbaum zusammenhängt — verwenden Sie dafür BeginTag/EndTag. ReplaceTag ist für Serienbriefvorlagen vorgesehen, in denen Platzhaltertoken wie {{customer-name}} vorab in eine PDF-Vorlage gezeichnet und anschließend durch Code ausgefüllt werden
Syntax
Delphi
Function DLReplaceTagA(InstanceID: Integer; Tag, NewValue: PAnsiChar): Integer;
DLL
int DLReplaceTagA(int InstanceID, const char * Tag, const char * NewValue);
Parameter
| Tag | Die Literalzeichenfolge, nach der im Textinhalt der Seite gesucht wird. Beim Abgleich wird die Groß-/Kleinschreibung beachtet und er gilt nur für die aktuell ausgewählte Seite — rufen Sie die Funktion bei der Verarbeitung einer mehrseitigen Vorlage einmal pro Seite auf. |
|---|---|
| NewValue | Die Ersatzzeichenfolge. Sie darf länger oder kürzer als Tag sein; das umgebende Layout wird nicht neu umbrochen, sodass sehr große Ersetzungen über die ursprüngliche Spalte hinausragen können |
Rückgabewert
Die Anzahl der Vorkommen von Tag, die auf der ausgewählten Seite gefunden und ersetzt wurden. Null bedeutet, dass keine Vorkommen gefunden wurden oder keine Seite ausgewählt ist
Anmerkungen
Es wird nur Text innerhalb von Textanzeigeoperatoren (Tj, TJ, ', ") durchsucht. Platzhalter mit Kerning oder Aufteilung über mehrere Operatoren stimmen möglicherweise nicht überein — halten Sie Vorlagenplatzhalter kurz und zeichnen Sie sie als einzelne Zeichenfolge. Die Funktion durchsucht weder Annotationsinhalte noch Formularfeldwerte oder eingebettete Dateien
Wählen Sie eine Platzhaltersyntax, die in tatsächlichen Inhalten wahrscheinlich nicht vorkommt, etwa {{name}}, <<Customer>> oder ~~SKU~~.
Beispiel
// 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;