B4X Requires Chilkat v11.7.0+
>, says so with placeholderSyntax, written around the word "name".
B4X
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 B4X Downloads
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