ReplaceTagA

Sidmanipulering

Beskrivning

Det avslutande A:et betecknar ANSI (char)-DLL-ingångspunkten; ActiveX/COM-ytan exponerar bara Unicode-formen. Beteendet är identiskt med ReplaceTag och strängargument tolkas med aktuell SetAnsiMode-kod sida

Utför en bokstavlig sök-och-ersätt på den för tillfället valda sidans textinnehåll. Varje förekomst av Tag i sidans textvisande operatorer ersätts med NewValue och operatorströmmen skrivs om på plats. Returnerar antalet gjorda substitutioner

Detta är en operation på innehållsströmsnivå som inte har med taggad PDF-(strukturträds)taggning att göra — använd BeginTag/EndTag för det. ReplaceTag är tänkt för cirkulärmallar där platshållartoken (till exempel {{customer-name}}) förritats in i en mall-PDF och sedan fylls i av kod

Syntax

Delphi

Function DLReplaceTagA(InstanceID: Integer; Tag, NewValue: PAnsiChar): Integer;

DLL

int DLReplaceTagA(int InstanceID, const char * Tag, const char * NewValue);

Parametrar

TagDen bokstavliga sträng som ska sökas i sidans textinnehåll. Matchen är skiftlägeskänslig och gäller bara den för tillfället valda sidan — anropa en gång per sida när du bearbetar en flersidig mall
NewValueErsättningssträngen. Kan vara längre eller kortare än Tag; den omgivande layouten flödas inte om, så mycket stora substitutioner kan löpa förbi den ursprungliga kolumnen

Returvärde

Antalet gånger Tag hittades och ersattes på den valda sidan. Noll betyder att inga förekomster hittades (eller att ingen sida är vald)

Anmärkningar

Bara text inne i textvisande operatorer (Tj, TJ, ', ") söks. Platshållare som kernats eller delats över flera operatorer kanske inte matchar — håll mallplatshållare korta och rita dem som en enda sträng. Funktionen söker inte i annoteringsinnehåll, formulärfältvärden eller inbäddade filer

Välj platshållarsyntax som sannolikt inte förekommer i verkligt innehåll, till exempel {{name}}, <<Customer>> eller ~~SKU~~.

Exempel

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

Se även

ReplaceImage, SelectPage, PageCount