ReplaceTag

Sivujen käsittely

Kuvaus

Suorittaa kirjaimellisen etsi ja korvaa -toiminnon nykyisen valitun sivun tekstisisältöön. Jokainen sivun tekstinäyttöoperaattoreiden Tag-esiintymä korvataan arvolla NewValue ja operaattorivirta kirjoitetaan uudelleen paikalleen. Palauttaa suoritettujen korvausten määrän

Tämä on sisältövirtatason operaatio, joka ei liity tagatun PDF:n (rakennepuun) tagaukseen — siihen käytä funktioita BeginTag/EndTag. ReplaceTag on tarkoitettu kirjemallityyppisiin mallipohjiin, joihin paikkamerkitokenit (esimerkiksi {{customer-name}}) on esipiirretty mallipohja-PDF:ään ja jotka koodi täyttää sen jälkeen

Syntaksi

Delphi

Function TPDFlib.ReplaceTag(Const Tag, NewValue: WideString): Integer;

ActiveX

Function PDFlib::ReplaceTag(Tag As String, NewValue As String) As Long

DLL

int DLReplaceTag(int InstanceID, const wchar_t * Tag, const wchar_t * NewValue);

Parametrit

TagKirjaimellinen merkkijono, joka etsitään sivun tekstisisällöstä. Täsmäytys on kirjainkokoa erotteleva, ja se koskee vain parhaillaan valittua sivua — kutsu kerran per sivu käsiteltäessä monisivuista mallipohjaa
NewValueKorvausmerkkijono. Se voi olla pidempi tai lyhyempi kuin Tag; ympäröivää asettelua ei uudelleenrivitetä, joten erittäin suuret korvaukset voivat ajaa alkuperäisen palstan yli

Paluuarvo

Monta kertaa Tag löytyi ja korvattiin valitulta sivulta. Nolla tarkoittaa, että esiintymiä ei löytynyt (tai sivua ei ole valittu)

Huomautukset

Etsitään vain tekstinäyttöoperaattorien (Tj, TJ, ', ") sisällä oleva teksti. Kernatut tai useisiin operaattoreihin jaetut paikkamerkit eivät välttämättä täsmää — pidä mallipohjien paikkamerkit lyhyinä ja piirrä ne yhtenä merkkijonona. Funktio ei etsi merkintöjen sisällöstä, lomakekenttien arvoista eikä upotetuista tiedostoista

Choose placeholder syntax that is unlikely to occur in real content, such as {{name}}, <<Customer>>, or ~~SKU~~.

Esimerkki

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

Katso myös

ReplaceImage, SelectPage, PageCount