PDF to Text / Node.js Examples

This page contains various examples of using the PDF to Text API in Node.js. The examples are complete and fully functional. Read more about how to convert PDF to Text in Node.js.

Basic examples
Express.js examples

Basic examples

PDF file to text file

var pdfcrowd = require("pdfcrowd");

// Create an API client instance.
var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// Run the conversion and save the result to a file.
client.convertFileToFile(
    "/path/to/invoice.pdf",
    "invoice.txt",
    function(err, fileName) {
        if (err) return console.error("Pdfcrowd Error: " + err);
        console.log("Success: the file was created " + fileName);
    });

PDF file to text file via callback

var pdfcrowd = require("pdfcrowd");

// Create an API client instance.
var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// use predefined callback for saving to a file
var callbacks = pdfcrowd.saveToFile("invoice.txt");

// set custom error callback
callbacks.error = function(errMessage, statusCode) {
    if(statusCode) {
        console.error("Pdfcrowd Error: " + statusCode + " - " + errMessage);
    } else {
        console.error("Pdfcrowd Error: " + errMessage);
    }
};

// Run the conversion and save the result to a file.
client.convertFile("/path/to/invoice.pdf", callbacks);

PDF url to text file

var pdfcrowd = require("pdfcrowd");

// Create an API client instance.
var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// Run the conversion and save the result to a file.
client.convertUrlToFile(
    "https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf",
    "invoice.txt",
    function(err, fileName) {
        if (err) return console.error("Pdfcrowd Error: " + err);
        console.log("Success: the file was created " + fileName);
    });

PDF url to text file via callback

var pdfcrowd = require("pdfcrowd");

// Create an API client instance.
var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// use predefined callback for saving to a file
var callbacks = pdfcrowd.saveToFile("invoice.txt");

// set custom error callback
callbacks.error = function(errMessage, statusCode) {
    if(statusCode) {
        console.error("Pdfcrowd Error: " + statusCode + " - " + errMessage);
    } else {
        console.error("Pdfcrowd Error: " + errMessage);
    }
};

// Run the conversion and save the result to a file.
client.convertUrl("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf", callbacks);

In-memory PDF to text file

var pdfcrowd = require("pdfcrowd");
var fs = require("fs");

// Create an API client instance.
var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// Run the conversion and save the result to a file.
client.convertRawDataToFile(
    fs.readFileSync("/path/to/hello_world.pdf"),
    "invoice.txt",
    function(err, fileName) {
        if (err) return console.error("Pdfcrowd Error: " + err);
        console.log("Success: the file was created " + fileName);
    });

In-memory PDF to text file via callback

var pdfcrowd = require("pdfcrowd");
var fs = require("fs");

// Create an API client instance.
var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// use predefined callback for saving to a file
var callbacks = pdfcrowd.saveToFile("invoice.txt");

// set custom error callback
callbacks.error = function(errMessage, statusCode) {
    if(statusCode) {
        console.error("Pdfcrowd Error: " + statusCode + " - " + errMessage);
    } else {
        console.error("Pdfcrowd Error: " + errMessage);
    }
};

// Run the conversion and save the result to a file.
client.convertRawData(fs.readFileSync("/path/to/hello_world.pdf"), callbacks);

Get info about the current conversion

var pdfcrowd = require("pdfcrowd");

// Create an API client instance.
var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

try {
    // Configure the conversion.
    client.setDebugLog(true);
    client.setPageBreakMode("default");
} catch(why) {
    // Report the error.
    console.error("Pdfcrowd Error: " + why);
    process.exit(1);
}

// Run the conversion and save the result to a file.
client.convertFileToFile(
    "/path/to/invoice.pdf",
    "invoice.txt",
    function(err, fileName) {
        if (err) return console.error("Pdfcrowd Error: " + err);
        console.log("Success: the file was created " + fileName);
        
        // print URL of the debug log
        console.log("Debug log url: " + client.getDebugLogUrl());
        
        // print the number of conversion credits remaining in your account
        console.log("Remaining credit count: " + client.getRemainingCreditCount());
        
        // print the number of credits used for the conversion
        console.log("Consumed credit count: " + client.getConsumedCreditCount());
        
        // print the unique identifier for the conversion
        console.log("Job id: " + client.getJobId());
        
        // print total number of pages in the output document
        console.log("Page count: " + client.getPageCount());
        
        // print size of the output data in bytes
        console.log("Output size: " + client.getOutputSize());
    });

Express.js examples

PDF file to text in Express.js

"use strict";

const express = require("express");
const app = express();
const pdfcrowd = require("pdfcrowd");

// The recommended method is POST.
app.post("/", (req, res) => {
    // Create an API client instance.
    var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the callback to send a file in the HTTP response
    var callbacks = pdfcrowd.sendGenericHttpResponse(
        res, "text/plain", "invoice.txt", "attachment");

    // configure the callback to send an error in the HTTP response
    callbacks.error = function(errMessage, statusCode) {
        res.set('Content-Type', 'text/plain');
        res.status(statusCode || 400);
        res.send(errMessage);
    }

    // Run the conversion.
    client.convertFile("/path/to/invoice.pdf", callbacks);
});

module.exports = app;

PDF url to text in Express.js

"use strict";

const express = require("express");
const app = express();
const pdfcrowd = require("pdfcrowd");

// The recommended method is POST.
app.post("/", (req, res) => {
    // Create an API client instance.
    var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the callback to send a file in the HTTP response
    var callbacks = pdfcrowd.sendGenericHttpResponse(
        res, "text/plain", "invoice.txt", "attachment");

    // configure the callback to send an error in the HTTP response
    callbacks.error = function(errMessage, statusCode) {
        res.set('Content-Type', 'text/plain');
        res.status(statusCode || 400);
        res.send(errMessage);
    }

    // Run the conversion.
    client.convertUrl("https://pdfcrowd.com/static/pdf/apisamples/invoice.pdf", callbacks);
});

module.exports = app;

In-memory PDF to text in Express.js

"use strict";

const express = require("express");
const app = express();
const pdfcrowd = require("pdfcrowd");
var fs = require("fs");

// The recommended method is POST.
app.post("/", (req, res) => {
    // Create an API client instance.
    var client = new pdfcrowd.PdfToTextClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

    // configure the callback to send a file in the HTTP response
    var callbacks = pdfcrowd.sendGenericHttpResponse(
        res, "text/plain", "invoice.txt", "attachment");

    // configure the callback to send an error in the HTTP response
    callbacks.error = function(errMessage, statusCode) {
        res.set('Content-Type', 'text/plain');
        res.status(statusCode || 400);
        res.send(errMessage);
    }

    // Run the conversion.
    client.convertRawData(fs.readFileSync("/path/to/hello_world.pdf"), callbacks);
});

module.exports = app;