🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

easypdfcloud-node

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

easypdfcloud-node

A Node library for easyPDF Cloud API

0.9.9
npm
Version published
Weekly downloads
4
-77.78%
Maintainers
1
Weekly downloads
 
Created
Source

easypdfcloud-node

Version License

A Node library for easyPDF Cloud API https://www.easypdfcloud.com/developer/reference

The easyPDF Cloud API is a cloud-based platform that allows PDF generation, conversion and automation.

This easy-to-use tool eliminates the need for separate APIs for different file formats and works with Word, Excel, PowerPoint, HTML, and images.

To get started, sign up for free and then get your API access credentials from the developer information page.

For detailed information about the easyPDF Cloud API, visit the API reference page.

Installation

npm install easypdfcloud-node

Usage

Using pre-created workflow (workflow ID)

You can create a workflow by connecting series of workflow tasks with mouse drag & drop from easyPDF Cloud website. After creating a new workflow, you can get its workflow ID from the developer information page.

Promise

"use strict";

const fs = require('fs');
const easyPdfCloud = require('easypdfcloud-node');

// easyPDF Cloud API credentials
const clientConfig = new easyPdfCloud.ClientConfig('<client ID>', '<client secret>');

// Create easyPDF Cloud client object
const client = new easyPdfCloud.Client(clientConfig);

// Load input file
const inputFileBuffer = fs.readFileSync('/Users/someone/input.docx');
const inputFileData = new easyPdfCloud.FileData('input.docx', Uint8Array.from(inputFileBuffer));

// Upload input file and start new job
console.log('Start new job ...');
client.startNewJob('<workflow ID>', inputFileData).then(function(job) {
    // Wait until job execution is completed
    console.log('Wait for job execution completion ...');
    job.waitForJobExecutionCompletion().then(function(jobExecutionResult) {
        // Save output to file
        const fileData = jobExecutionResult.fileData;
        console.log('Output: ' + fileData.name + ' (' + fileData.getDataByteSize() + ' bytes)');
        fs.writeFileSync('/Users/someone/output.pdf', fileData.blob, 'binary');
    }, function(err) {
        console.log(err);
    });
}, function(err) {
    console.log(err);
});

async/await

"use strict";

const fs = require('fs');
const easyPdfCloud = require('easypdfcloud-node');

// easyPDF Cloud API credentials
const clientConfig = new easyPdfCloud.ClientConfig('<client ID>', '<client secret>');

(async () => {
    // Create easyPDF Cloud client object
    const client = new easyPdfCloud.Client(clientConfig);

    // Load input file
    const inputFileBuffer = fs.readFileSync('/Users/someone/input.docx');
    const inputFileData = new easyPdfCloud.FileData('input.docx', Uint8Array.from(inputFileBuffer));

    // Upload input file and start new job
    console.log('Start new job ...');
    const job = await client.startNewJob('<workflow ID>', inputFileData);

    // Wait until job execution is completed
    console.log('Wait for job execution completion ...');
    const jobExecutionResult = await job.waitForJobExecutionCompletion();

    // Save output to file
    const fileData = jobExecutionResult.fileData;
    console.log('Output: ' + fileData.name + ' (' + fileData.getDataByteSize() + ' bytes)');
    fs.writeFileSync('/Users/someone/output.pdf', fileData.blob, 'binary');
})();

Using dynamically created workflow

Alternatively, you can create a workflow on the spot and pass it to the API. Below example creates a workflow that adds a custom watermark text to a PDF.

Promise

"use strict";

const fs = require('fs');
const easyPdfCloud = require('easypdfcloud-node');

// easyPDF Cloud API credentials
const clientConfig = new easyPdfCloud.ClientConfig('<client ID>', '<client secret>');

// Create easyPDF Cloud client object
const client = new easyPdfCloud.Client(clientConfig);

// Load input file
const inputFileBuffer = fs.readFileSync('/Users/someone/input.pdf');
const inputFileData = new easyPdfCloud.FileData('input.pdf', Uint8Array.from(inputFileBuffer));

// Dynamically create workflow
const workflowSetting = new easyPdfCloud.WorkflowSetting();

// Add "Add watermark" task
const addWatermarkToPdfTask = workflowSetting.AddNewAddWatermarkToPdfTask();

// Configure watermark settings
addWatermarkToPdfTask.Angle = 45;
addWatermarkToPdfTask.OutlineOnly = true;
addWatermarkToPdfTask.Text = 'Hello';

// Upload input file and start new job
console.log('Start new job ...');
client.startNewJob(workflowSetting, inputFileData).then(function(job) {
    // Wait until job execution is completed
    console.log('Wait for job execution completion ...');
    job.waitForJobExecutionCompletion().then(function(jobExecutionResult) {
        // Save output to file
        const fileData = jobExecutionResult.fileData;
        console.log('Output: ' + fileData.name + ' (' + fileData.getDataByteSize() + ' bytes)');
        fs.writeFileSync('/Users/someone/output.pdf', fileData.blob, 'binary');
    }, function(err) {
        console.log(err);
    });
}, function(err) {
    console.log(err);
});

async/await

"use strict";

const fs = require('fs');
const easyPdfCloud = require('easypdfcloud-node');

// easyPDF Cloud API credentials
const clientConfig = new easyPdfCloud.ClientConfig('<client ID>', '<client secret>');

(async () => {
    // Create easyPDF Cloud client object
    const client = new easyPdfCloud.Client(clientConfig);

    // Load input file
    const inputFileBuffer = fs.readFileSync('/Users/someone/input.pdf');
    const inputFileData = new easyPdfCloud.FileData('input.pdf', Uint8Array.from(inputFileBuffer));

    // Dynamically create workflow
    const workflowSetting = new easyPdfCloud.WorkflowSetting();

    // Add "Add watermark" task
    const addWatermarkToPdfTask = workflowSetting.AddNewAddWatermarkToPdfTask();

    // Configure watermark settings
    addWatermarkToPdfTask.Angle = 45;
    addWatermarkToPdfTask.OutlineOnly = true;
    addWatermarkToPdfTask.Text = 'Hello';

    // Upload input file and start new job
    console.log('Start new job ...');
    const job = await client.startNewJob(workflowSetting, inputFileData);

    // Wait until job execution is completed
    console.log('Wait for job execution completion ...');
    const jobExecutionResult = await job.waitForJobExecutionCompletion();

    // Save output to file
    const fileData = jobExecutionResult.fileData;
    console.log('Output: ' + fileData.name + ' (' + fileData.getDataByteSize() + ' bytes)');
    fs.writeFileSync('/Users/someone/output.pdf', fileData.blob, 'binary');
})();

Keywords

pdf

FAQs

Package last updated on 12 Apr 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts