Sample code for 30+ languages & platforms
B4X 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 B4X Downloads

B4X
Dim success As Boolean = 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

Dim pdf As ChilkatPdf
pdf.Initialize("pdf")
success = pdf.LoadFile("qa_data/pdf/letter_template.pdf")
If success = False Then
    Log(pdf.LastErrorText)
    Return
End If


'  The letter reads: "Dear [[name]]," ... "expires on [[expiry]]" ... "[[amount]] per year" ... "[[agent]]".
Dim json As ChilkatJsonObject
json.Initialize
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")

Dim jsonOut As ChilkatJsonObject
jsonOut.Initialize
success = pdf.TextReplace("apply", json, jsonOut)
If success = False Then
    Log("Not applied: " & jsonOut.Emit)
    If success = False Then
        Log(pdf.LastErrorText)
        Return
    End If

End If


Dim i As Int = 0
Dim count_i As Int = jsonOut.SizeOfArray("replacements")
Do While i < count_i
    jsonOut.I = i
    Log("[[" & jsonOut.StringOf("replacements[i].field") & "]] replaced")
    i = i + 1
Loop

success = pdf.WriteFile("qa_output/letter_rivera.pdf")
If success = False Then
    Log(pdf.LastErrorText)
    Return
End If


'  Sample output:

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