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

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

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

How to convert PDF to HTML from uploaded file (node for PDF to HTML API in JavaScript with ByteScout Cloud API Server

How to convert PDF to HTML from uploaded file (node for PDF to HTML API in JavaScript: Step By Step Instructions

We regularly create and update our sample code library so you may quickly learn PDF to HTML API and the step-by-step process in JavaScript. ByteScout Cloud API Server was designed to assist PDF to HTML API in JavaScript. ByteScout Cloud API Server is API server that is ready to use and can be installed and deployed in less than 30 minutes on your own Windows server or server in a cloud. It can save data and files on your local server-based file storage or in Amazon AWS S3 storage. Data is processed solely on the API server and is powered by ByteScout engine, no cloud services or Internet connection is required for data processing..

The SDK samples displayed below below explain how to quickly make your application do PDF to HTML API in JavaScript with the help of ByteScout Cloud API Server. This sample code in JavaScript is all you need. Just copy-paste it to the code editor, then add a reference to ByteScout Cloud API Server and you are ready to try it! Use of ByteScout Cloud API Server in JavaScript is also described in the documentation given along with the product.

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)

ConvertPdfToHtmlFromUploadedFile.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 HTML file name const DestinationFile = "./result.html"; // Set to `true` to get simplified HTML without CSS. Default is the rich HTML keeping the document design. const PlainHtml = false; // Set to `true` if your document has the column layout like a newspaper. const ColumnLayout = false; // 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 HTML convertPdfToHtml(uploadedFileUrl, Password, Pages, PlainHtml, ColumnLayout, 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 convertPdfToHtml(uploadedFileUrl, password, pages, plainHtml, columnLayout, destinationFile) { // Prepare request to `PDF To HTML` API endpoint var queryPath = `/pdf/convert/to/html?name=${path.basename(destinationFile)}&password=${password}&pages=${pages}` + `&simple=${plainHtml}&columns=${columnLayout}&url=${uploadedFileUrl}`; 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) { // Download HTML file var file = fs.createWriteStream(destinationFile); https.get(data.url, (response2) => { response2.pipe(file) .on("close", () => { console.log(`Generated HTML file saved as "${destinationFile}" file.`); }); }); } else { // Service reported error console.log("convertPdfToHtml(): " + data.message); } }); }) .on("error", (e) => { // Request error console.log("convertPdfToHtml(): " + e); }); }

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