Sample code for 30+ languages & platforms
React Native Requires Chilkat v11.7.0+

Extract Text from a PDF that Forbids Copying

See more PDF Text Extraction Examples

Demonstrates a PDF that opens without a password but whose permissions do not allow copying text. The "text", "markdown", "search" and "tables" operations fail with that reason; "assess" always works. Loading the PDF with the OwnerPassword property set grants owner rights, and extraction works.

Chilkat React Native Downloads

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

function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  // The PDF used in this example (owner password: owner-secret; copying not permitted) is available at no_copy_permission.pdf

  const pdf = new Pdf();
  const json = new JsonObject();
  const jsonOut = new JsonObject();

  // The PDF opens without a password.
  try {
    pdf.loadFile('qa_data/pdf/no_copy_permission.pdf');
  } catch {
    console.log(pdf.lastErrorText);
    return;
  }

  // Extracting text is refused, because the PDF's permissions do not allow copying.
  try {
    pdf.extractText('text', json, jsonOut);
  } catch {
    console.log(`Extraction refused: ${pdf.lastErrorText}`);
  }

  // "assess" reports only counts and ratings, never text, so it is always allowed.
  try {
    pdf.extractText('assess', json, jsonOut);
  } catch {
    console.log(pdf.lastErrorText);
    return;
  }

  console.log(`rating: ${jsonOut.stringOf('quality.rating')}`);

  // Load with the owner password to get owner rights, which include copying.
  pdf.ownerPassword = 'owner-secret';
  try {
    pdf.loadFile('qa_data/pdf/no_copy_permission.pdf');
  } catch {
    console.log(pdf.lastErrorText);
    return;
  }

  try {
    pdf.extractText('text', json, jsonOut);
  } catch {
    console.log(pdf.lastErrorText);
    return;
  }

  console.log(jsonOut.stringOf('text'));

  // Sample output:

  // Extraction refused: ChilkatLog:
  //   ExtractText:
  //     ...
  //       The PDF's permissions do not allow copying or extracting text (load it with the owner password to extract).
  //     ...
  // rating: good
  // Visitor Leaflet
  // 
  // Welcome to the harbor lighthouse. The tower is open on weekends from July to September.
  // 
  // Please keep to the marked paths and do not climb on the breakwater.
  // 
  // The lantern room is closed in high winds.
}