ReplaceTag

Manipulasi halaman

Deskripsi

Melakukan find-and-replace literal pada konten teks halaman yang sedang dipilih. Setiap kemunculan Tag di operator penampil teks halaman digantikan NewValue dan stream operator ditulis ulang secara in-place. Mengembalikan jumlah substitusi yang dilakukan

Ini operasi level content-stream yang tidak berhubungan dengan pen-tag-an tagged PDF (structure tree) — gunakan BeginTag/EndTag untuk itu. ReplaceTag ditujukan untuk template bergaya form-letter di mana token placeholder (misalnya {{customer-name}}) sudah digambar sebelumnya ke PDF template lalu diisi oleh kode

Sintaks

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

Parameter

TagString literal yang dicari di konten teks halaman. Pencocokannya case sensitive dan hanya berlaku pada halaman yang sedang dipilih — panggil sekali per halaman saat memproses template multi-halaman
NewValueString penggantinya. Boleh lebih panjang atau lebih pendek dari Tag; layout di sekitarnya tidak di-reflow, jadi substitusi yang sangat besar bisa meluber melewati kolom aslinya

Nilai kembali

Jumlah kali Tag ditemukan dan digantikan di halaman terpilih. Nol berarti tidak ada kemunculan yang ditemukan (atau tidak ada halaman terpilih)

Catatan

Hanya teks di dalam operator penampil teks (Tj, TJ, ', ") yang dicari. Placeholder yang terkena kerning atau terpecah ke beberapa operator mungkin tidak cocok — jaga placeholder template tetap pendek dan gambar sebagai satu string. Fungsi ini tidak mencari isi anotasi, nilai form field, atau embedded file

Pilih sintaks placeholder yang kecil kemungkinannya muncul di konten nyata, seperti {{name}}, <<Customer>>, atau ~~SKU~~

Contoh

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

Lihat juga

ReplaceImage, SelectPage, PageCount