How to download pdf file from url in node.js?
26,478
Solution 1
This will Help.
response.setHeader("Content-Type", "text/pdf");
Solution 2
For those looking to download a PDF server side, which is a bit of a different use case than the OP, here's how I did it using the request npm module:
const fs = require("fs");
const request = require("request-promise-native");
async function downloadPDF(pdfURL, outputFilename) {
let pdfBuffer = await request.get({uri: pdfURL, encoding: null});
console.log("Writing downloaded PDF file to " + outputFilename + "...");
fs.writeFileSync(outputFilename, pdfBuffer);
}
downloadPDF("https://www.ieee.org/content/dam/ieee-org/ieee/web/org/pubs/ecf_faq.pdf", "c:/temp/somePDF.pdf");
Solution 3
Simple solution I used to download pdf in node js is by npm i node-downloader-helper and just add downlaod url:
const { DownloaderHelper } = require('node-downloader-helper');
const download = new DownloaderHelper('url', __dirname);
download.on('end', () => console.log('Download Completed'))
download.start();
![abdulbarik](https://i.stack.imgur.com/Y9hzO.png?s=256&g=1)
Author by
abdulbarik
I am Full Stack Developer and JavaScript enthusiastic, lives in Mumbai India.
Updated on December 02, 2020Comments
-
abdulbarik over 3 years
I am creating an application to download pdf files from url and show in my dashboard page as grid wise.
I am using node.js with express framework.
exports.pdf = function(req, response) { var url ="http://www.ieee.org/documents/ieeecopyrightform.pdf"; http.get(url, function(res) { var chunks = []; res.on('data', function(chunk) { console.log('start'); chunks.push(chunk); }); res.on("end", function() { console.log('downloaded'); var jsfile = new Buffer.concat(chunks).toString('base64'); console.log('converted to base64'); response.header("Access-Control-Allow-Origin", "*"); response.header("Access-Control-Allow-Headers", "X-Requested-With"); response.header('content-type', 'application/pdf'); response.send(jsfile); }); }).on("error", function() { console.log("error"); }); };
-
James about 4 yearsthis is not working it is giving me plain text file with pdf extension but not opening
-
Ryan Shillington about 4 years@James It's not supposed to open. It's just supposed to save the file as c:\temp\somePDF.pdf. If you want it to open in your PDF viewer, that's a different question entirely.