Sample code for 30+ languages & platforms
.NET Core C# Requires Chilkat v11.7.0+

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 <>, says so with placeholderSyntax, written around the word "name".

Chilkat .NET Core C# Downloads

.NET Core C#
bool 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

Chilkat.Pdf pdf = new Chilkat.Pdf();
success = pdf.LoadFile("qa_data/pdf/letter_template.pdf");
if (success == false) {
    Debug.WriteLine(pdf.LastErrorText);
    return;
}

//  The letter reads: "Dear [[name]]," ... "expires on [[expiry]]" ... "[[amount]] per year" ... "[[agent]]".
Chilkat.JsonObject json = new Chilkat.JsonObject();
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");

Chilkat.JsonObject jsonOut = new Chilkat.JsonObject();
success = pdf.TextReplace("apply",json,jsonOut);
if (success == false) {
    Debug.WriteLine("Not applied: " + jsonOut.Emit());
    if (success == false) {
        Debug.WriteLine(pdf.LastErrorText);
        return;
    }

}

int i = 0;
int count_i = jsonOut.SizeOfArray("replacements");
while (i < count_i) {
    jsonOut.I = i;
    Debug.WriteLine("[[" + jsonOut.StringOf("replacements[i].field") + "]] replaced");
    i = i + 1;
}

success = pdf.WriteFile("qa_output/letter_rivera.pdf");
if (success == false) {
    Debug.WriteLine(pdf.LastErrorText);
    return;
}

//  Sample output:

//  [[date]] replaced
//  [[name]] replaced
//  [[expiry]] replaced
//  [[amount]] replaced
//  [[agent]] replaced