How to Convert an Array of PNG Images to PDF Format in Node.js
While PNG and PDF format share many of the same benefits with one another (in particular: cross-platform interoperability), PDF provides distinct security advantages, allowing you to safely encrypt and password protect your images. The below code will allow you to programmatically convert a large volume of PNG images to a single PDF document; all you need to do is copy & paste, and you’re good to go!
First, run this command to install the SDK:
npm install cloudmersive-convert-api-client --save
Alternatively, you can install the SDK by adding this snippet to your package.json:
"dependencies": {
"cloudmersive-convert-api-client": "^2.6.3"
}
Lastly, call the function using the below code examples, and include your file paths in each of the input file parameters:
var CloudmersiveConvertApiClient = require('cloudmersive-convert-api-client');
var defaultClient = CloudmersiveConvertApiClient.ApiClient.instance;
// Configure API key authorization: Apikey
var Apikey = defaultClient.authentications['Apikey'];
Apikey.apiKey = 'YOUR API KEY';
var apiInstance = new CloudmersiveConvertApiClient.ConvertDocumentApi();
var inputFile1 = Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer); // File | First input file to perform the operation on.
var inputFile2 = Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer); // File | Second input file to perform the operation on.
var opts = {
'inputFile3': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Third input file to perform the operation on.
'inputFile4': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Fourth input file to perform the operation on.
'inputFile5': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Fifth input file to perform the operation on.
'inputFile6': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Sixth input file to perform the operation on.
'inputFile7': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Seventh input file to perform the operation on.
'inputFile8': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Eighth input file to perform the operation on.
'inputFile9': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Ninth input file to perform the operation on.
'inputFile10': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer) // File | Tenth input file to perform the operation on.
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.convertDocumentPngArrayToPdf(inputFile1, inputFile2, opts, callback);
To complete the API call, include your Cloudmersive API key in the Apikey.apiKey field, and you’re all done. You can get a Cloudmersive API key for free by registering a free account on our website (this provides a limit of 800 API calls per month with no commitments).