ConvertDocToPdfFromUrl.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | var https = require( "https" ); var path = require( "path" ); var fs = require( "fs" ); // The authentication key (API Key). // Get your own by registering at https://app.pdf.co/documentation/api const API_KEY = "***********************************" ; // Direct URL of source DOC or DOCX file. const SourceFileUrl = "https://s3-us-west-2.amazonaws.com/bytescout-com/files/demo-files/cloud-api/doc-to-pdf/sample.docx" ; // Destination PDF file name const DestinationFile = "./result.pdf" ; // Prepare request to `DOC to PDF` API endpoint var queryPath = `/v1/pdf/convert/from/doc?name=${path.basename(DestinationFile)}&url=${SourceFileUrl}& async =True`; var reqOptions = { host: "api.pdf.co" , 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 ) { checkIfJobIsCompleted(data.jobId, data.url); } else { // Service reported error console.log(data.message); } }); }).on( "error" , (e) => { // Request error console.log(e); }); function checkIfJobIsCompleted(jobId, resultFileUrl) { let queryPath = `/v1/job/check?jobid=${jobId}`; let reqOptions = { host: "api.pdf.co" , path: encodeURI(queryPath), method: "GET" , headers: { "x-api-key" : API_KEY } }; https.get(reqOptions, (response) => { response.on( "data" , (d) => { response.setEncoding( "utf8" ); // Parse JSON response let data = JSON.parse(d); if (data.Status == "InProgress" ) { // Check again after 2 seconds setTimeout( function (){ checkIfJobIsCompleted(jobId, resultFileUrl);}, 2000); } else if (data.Status == "Finished" ) { // Download PDF file var file = fs.createWriteStream(DestinationFile); https.get(resultFileUrl, (response2) => { response2.pipe(file) .on( "close" , () => { console.log(`Generated PDF file saved as "${DestinationFile}" file.`); }); }); } else { console.log(`Operation ended with status: "${data.Status}" .`); } }) }); } |
Click here to get your Free Trial version of the SDK
IMPORTANT:
Cloud API is deprecated and was replaced with more powerful and secure www.PDF.co Web API
CLICK HERE
TO LEARN MORE
ABOUT NEW
www.PDF.co
w/ Web API
On-Premise API Server
Cloud API Server