Cloud API – PDF Splitting – JavaScript – Split PDF From URL (Node.js)

  • Home
  • /
  • Articles
  • /
  • Cloud API – PDF Splitting – JavaScript – Split PDF From URL (Node.js)

Cloud API – PDF Splitting – JavaScript – Split PDF From URL (Node.js)

SplitPdfFromUrl.js

// (!) If you are getting "(403) Forbidden" error please ensure you have set the correct API_KEY

var https = require("https");
var path = require("path");
var fs = require("fs");


// The authentication key (API Key).
// Get your own by registering at https://secure.bytescout.com/users/sign_up
const API_KEY = "***********************************";


// Source PDF file to split
const SourceFileUrl = "https://s3-us-west-2.amazonaws.com/bytescout-com/files/demo-files/cloud-api/pdf-split/sample.pdf";
// Comma-separated list of page numbers (or ranges) to process. Example: '1,3-5,7-'.
const Pages = "1-2,3-";


// Prepare request to `Split PDF` API endpoint
var queryPath = `/v1/pdf/split?pages=${Pages}&url=${SourceFileUrl}`;
var reqOptions = {
    host: "bytescout.io",
    path: encodeURI(queryPath),
    headers: {
        "x-api-key": API_KEY
    }
};
// Send request
https.get(reqOptions, (response) => {
    response.on("data", (d) => {
        // Parse JSON response
        var data = JSON.parse(d);        
        if (data.error == false) {
            // Download generated PDF files
            var part = 1;
            data.urls.forEach((url) => {
                var localFileName = `./part${part}.pdf`;
                var file = fs.createWriteStream(localFileName);
                https.get(url, (response2) => {
                    response2.pipe(file)
                    .on("close", () => {
                        console.log(`Generated PDF file saved as "${localFileName}" file.`);
                    });
                });
                part++;
            }, this);
        }
        else {
            // Service reported error
            console.log(data.message);
        }
    });
}).on("error", (e) => {
    // Request error
    console.error(e);
});


  Click here to get your Free Trial version of the SDK

prev
next