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
| Tag | Den 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 |
|---|---|
| NewValue | Ersä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;