ReplaceTagA

ページ操作

説明

末尾の A は ANSI(char)DLL エントリポイントを示し、ActiveX/COM の表面では Unicode 形式のみ公開される。動作は ReplaceTag と同一で、文字列引数は現在の SetAnsiMode コードページを使って解釈される

現在選択されているページのテキスト内容に対し、リテラルの検索と置換を実行します。ページのテキスト表示演算子内にある Tag のすべての出現箇所を NewValue に置き換え、演算子ストリームをその場で書き換えます。実行した置換数を返します

これはタグ付き PDF(構造ツリー)のタグ付けとは関係のないコンテンツストリームレベルの処理です — その用途には BeginTag/EndTag を使用します。ReplaceTag は、プレースホルダートークン(例: {{customer-name}})をテンプレート PDF に事前描画し、その後コードで値を設定するフォームレター形式のテンプレート向けです

構文

Delphi

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

DLL

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

パラメータ

Tagページのテキストコンテンツで検索するリテラル文字列。照合では大文字と小文字が区別され、現在選択されているページにのみ適用されます。複数ページのテンプレートを処理する場合はページごとに 1 回呼び出してください
NewValue置換文字列。Tag より長くても短くても構いません。周囲のレイアウトは再フローされないため、非常に大きな置換は元の列を超える場合があります

戻り値

選択したページ上で Tag が見つかり、置換された回数です。ゼロは出現箇所が見つからなかったことを示します (またはページが選択されていません)

備考

テキスト表示演算子(Tj、TJ、'、")内のテキストのみを検索します。カーニングされた、または複数の演算子に分割されたプレースホルダーは一致しない場合があります。テンプレートプレースホルダーは短く保ち、単一の文字列として描画してください。この関数は注釈内容、フォームフィールド値または埋め込みファイルを検索しません

{{name}}、<<Customer>>、~~SKU~~ など、実際のコンテンツに出現しにくいプレースホルダー構文を選択します

例

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

関連項目

ReplaceImage、SelectPage、PageCount