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

React Native
import { JsonObject, Pdf } from '@chilkat/react-native'

function chilkatExample() {
  let 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

  const pdf = new Pdf();
  success = true;
  try {
    pdf.loadFile('qa_data/pdf/letter_template.pdf');
  } catch {
    success = false;
  }
  if (!success) {
    console.log(pdf.lastErrorText);
    return;
  }

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

  const jsonOut = new JsonObject();
  success = true;
  try {
    pdf.textReplace('apply', json, jsonOut);
  } catch {
    success = false;
  }
  if (!success) {
    console.log(`Not applied: ${jsonOut.emit()}`);
    if (!success) {
      console.log(pdf.lastErrorText);
      return;
    }
  }

  let i = 0;
  const countI = jsonOut.sizeOfArray('replacements');
  while (i < countI) {
    jsonOut.i = i;
    console.log(`[[${jsonOut.stringOf('replacements[i].field')}]] replaced`);
    i++;
  }

  success = true;
  try {
    pdf.writeFile('qa_output/letter_rivera.pdf');
  } catch {
    success = false;
  }
  if (!success) {
    console.log(pdf.lastErrorText);
    return;
  }

  // Sample output:

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