GeneratePdfInvoiceFromHtmlTemplate.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 = "***********************************"; // HTML template const template = "./invoice_template.html"; // Data to fill the template const templateData = "./invoice_data.json"; // Destination PDF file name const DestinationFile = "./result.pdf"; // Prepare request to `HTML To PDF` API endpoint var queryPath = `/v1/pdf/convert/from/html?name=${path.basename(DestinationFile)}`; var reqOptions = { host: "api.pdf.co", path: encodeURI(queryPath), method: "POST", headers: { "x-api-key": API_KEY, "Content-Type": "application/json" } }; var requestBody = JSON.stringify({ "html": fs.readFileSync(template, "utf8"), "templateData": fs.readFileSync(templateData, "utf8") }); // Send request var postRequest = https.request(reqOptions, (response) => { response.on("data", (d) => { // Parse JSON response var data = JSON.parse(d); if (data.error == false) { // Download PDF file var file = fs.createWriteStream(DestinationFile); https.get(data.url, (response2) => { response2.pipe(file) .on("close", () => { console.log(`Generated PDF file saved as "${DestinationFile}" file.`); }); }); } else { // Service reported error console.log(data.message); } }); }).on("error", (e) => { // Request error console.log(e); }); // Write request data postRequest.write(requestBody); postRequest.end();
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