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

TagDie 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.
NewValueDie 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;

Siehe auch

ReplaceImage, SelectPage, PageCount