ByteScout Cloud API Server - PDF To Image API - JavaScript - Convert PDF To TIFF From Uploaded File (Node.js) - Async API - ByteScout

ByteScout Cloud API Server – PDF To Image API – JavaScript – Convert PDF To TIFF From Uploaded File (Node.js) – Async API

  • Home
  • /
  • Articles
  • /
  • ByteScout Cloud API Server – PDF To Image API – JavaScript – Convert PDF To TIFF From Uploaded File (Node.js) – Async API

How to convert PDF to TIFF from uploaded file (node for PDF to image API in JavaScript using ByteScout Cloud API Server

Step-by-step tutorial:How to convert PDF to TIFF from uploaded file (node to have PDF to image API in JavaScript

We regularly create and update our sample code library so you may quickly learn PDF to image API and the step-by-step process in JavaScript. ByteScout Cloud API Server was designed to assist PDF to image API in JavaScript. ByteScout Cloud API Server is the ready to deploy Web API Server that can be deployed in less than thirty minutes into your own in-house Windows server (no Internet connnection is required to process data!) or into private cloud server. Can store data on in-house local server based storage or in Amazon AWS S3 bucket. Processing data solely on the server using built-in ByteScout powered engine, no cloud services are used to process your data!.

JavaScript code snippet like this for ByteScout Cloud API Server works best when you need to quickly implement PDF to image API in your JavaScript application. This JavaScript sample code can be used by copying and pasting into your project. Once done,just compile your project and click Run. Enjoy writing a code with ready-to-use sample JavaScript codes to implement PDF to image API using ByteScout Cloud API Server.

ByteScout Cloud API Server – free trial version is available on our website. Also, there are other code samples to help you with your JavaScript application included into trial version.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

app.js
      
/*jshint esversion: 6 */ // Please NOTE: In this sample we're assuming Cloud Api Server is hosted at "https://localhost". // If it's not then please replace this with with your hosting url. var https = require("https"); var path = require("path"); var fs = require("fs"); // `request` module is required for file upload. // Use "npm install request" command to install. var request = require("request"); // Source PDF file const SourceFile = "./sample.pdf"; // Comma-separated list of page indices (or ranges) to process. Leave empty for all pages. Example: '0,2-5,7-'. const Pages = ""; // PDF document password. Leave empty for unprotected documents. const Password = ""; // Destination TIFF file name const DestinationFile = "./result.tif"; // 1. RETRIEVE PRESIGNED URL TO UPLOAD FILE. getPresignedUrl(SourceFile) .then(([uploadUrl, uploadedFileUrl]) => { // 2. UPLOAD THE FILE TO CLOUD. uploadFile(SourceFile, uploadUrl) .then(() => { // 3. CONVERT UPLOADED PDF FILE TO TIFF convertPdfToTiff(uploadedFileUrl, Password, Pages, DestinationFile); }) .catch(e => { console.log(e); }); }) .catch(e => { console.log(e); }); function getPresignedUrl(localFile) { return new Promise(resolve => { // Prepare request to `Get Presigned URL` API endpoint let queryPath = `/file/upload/get-presigned-url?contenttype=application/octet-stream&name=${path.basename(SourceFile)}`; let reqOptions = { host: "localhost", path: encodeURI(queryPath) }; // Send request https.get(reqOptions, (response) => { response.on("data", (d) => { let data = JSON.parse(d); if (data.error == false) { // Return presigned url we received resolve([data.presignedUrl, data.url]); } else { // Service reported error console.log("getPresignedUrl(): " + data.message); } }); }) .on("error", (e) => { // Request error console.log("getPresignedUrl(): " + e); }); }); } function uploadFile(localFile, uploadUrl) { return new Promise(resolve => { fs.readFile(SourceFile, (err, data) => { request({ method: "PUT", url: uploadUrl, body: data, headers: { "Content-Type": "application/octet-stream" } }, (err, res, body) => { if (!err) { resolve(); } else { console.log("uploadFile() request error: " + e); } }); }); }); } function convertPdfToTiff(uploadedFileUrl, password, pages, destinationFile) { // Prepare URL for `PDF To TIFF` API call var queryPath = `/pdf/convert/to/tiff?password=${password}&pages=${pages}&url=${uploadedFileUrl}&async=True`; let reqOptions = { host: "localhost", path: encodeURI(queryPath), method: "GET" }; // Send request https.get(reqOptions, (response) => { response.on("data", (d) => { response.setEncoding("utf8"); // Parse JSON response let data = JSON.parse(d); if (data.error == false) { console.log(`Job #${data.jobId} has been created!`); checkIfJobIsCompleted(data.jobId, data.url, destinationFile); } else { // Service reported error console.log("convertPdfToTiff(): " + data.message); } }); }) .on("error", (e) => { // Request error console.log("convertPdfToTiff(): " + e); }); } function checkIfJobIsCompleted(jobId, resultFileUrl, destinationFile) { let queryPath = `/job/check?jobid=${jobId}`; let reqOptions = { host: "localhost", path: encodeURI(queryPath), method: "GET" }; https.get(reqOptions, (response) => { response.on("data", (d) => { response.setEncoding("utf8"); // Parse JSON response let data = JSON.parse(d); console.log(`Checking Job #${jobId}, Status: ${data.status}, Time: ${new Date().toLocaleString()}`); if (data.status == "working") { // Check again after 3 seconds setTimeout(function () { checkIfJobIsCompleted(jobId, resultFileUrl, destinationFile) }, 3000); } else if (data.status == "success") { // Download TIFF file var file = fs.createWriteStream(destinationFile); https.get(resultFileUrl, (response2) => { response2.pipe(file) .on("close", () => { console.log(`Generated TIFF file saved as "${destinationFile}" file.`); }); }); } else { console.log(`Operation ended with status: "${data.status}".`); } }) }); }

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Cloud API Server Home Page

Explore ByteScout Cloud API Server Documentation

Explore Samples

Sign Up for ByteScout Cloud API Server Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

package.json
      
{ "name": "test", "version": "1.0.0", "description": "PDF.co", "main": "app.js", "scripts": { }, "keywords": [ "pdf.co", "web", "api", "bytescout", "api" ], "author": "ByteScout & PDF.co", "license": "ISC", "dependencies": { "request": "^2.88.2" } }

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Cloud API Server Home Page

Explore ByteScout Cloud API Server Documentation

Explore Samples

Sign Up for ByteScout Cloud API Server Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Cloud API Server Home Page

Explore ByteScout Cloud API Server Documentation

Explore Samples

Sign Up for ByteScout Cloud API Server Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next