Dart Requires Chilkat v11.7.0+
>, says so with placeholderSyntax, written around the word "name".
Dart
PDF Placeholders with Other Delimiters: [[name]]
See more PDF Text Replacement Examples
Demonstrates the "placeholderSyntax" option. Placeholders are {{name}} by default; a template written with other delimiters, such as [[name]] or <Chilkat Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
var success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The PDF used in this example is available at letter_template.pdf
final pdf = CkPdf();
success = true;
try {
pdf.loadFile('qa_data/pdf/letter_template.pdf');
} on ChilkatException {
success = false;
}
if (!success) {
print(pdf.lastErrorText);
return;
}
// The letter reads: "Dear [[name]]," ... "expires on [[expiry]]" ... "[[amount]] per year" ... "[[agent]]".
final json = CkJsonObject();
json.updateString('placeholderSyntax', '[[name]]');
json.updateString('placeholders.date', 'October 18, 2026');
json.updateString('placeholders.name', 'Ms. Rivera');
json.updateString('placeholders.expiry', 'December 31, 2026');
json.updateString('placeholders.amount', '\$299.00');
json.updateString('placeholders.agent', 'Dana Whitfield, Account Manager');
final jsonOut = CkJsonObject();
success = true;
try {
pdf.textReplace('apply', json, jsonOut);
} on ChilkatException {
success = false;
}
if (!success) {
print('Not applied: ${jsonOut.emit()}');
if (!success) {
print(pdf.lastErrorText);
return;
}
}
var i = 0;
final countI = jsonOut.sizeOfArray('replacements');
while (i < countI) {
jsonOut.i = i;
print('[[${jsonOut.stringOf('replacements[i].field')}]] replaced');
i++;
}
success = true;
try {
pdf.writeFile('qa_output/letter_rivera.pdf');
} on ChilkatException {
success = false;
}
if (!success) {
print(pdf.lastErrorText);
return;
}
// Sample output:
// [[date]] replaced
// [[name]] replaced
// [[expiry]] replaced
// [[amount]] replaced
// [[agent]] replaced
}