easypdfcloud-node
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, and then pass it to the API.
"use strict";
const fs = require('fs');
const easyPdfCloud = require('easypdfcloud-node');
(async () => {
const client = new easyPdfCloud.Client('<client ID>', '<client secret>');
const job = await client.startNewJob('<workflow ID>', '/Users/someone/input.docx');
const result = await job.waitForJobExecutionCompletion();
fs.writeFileSync('/Users/someone/output.pdf', result.fileData.blob, 'binary');
})();
Using dynamically created workflow
Alternatively, you can create a workflow on the spot and pass it to the API.
Following example creates a workflow that adds a watermark to a PDF.
"use strict";
const fs = require('fs');
const easyPdfCloud = require('easypdfcloud-node');
(async () => {
const client = new easyPdfCloud.Client('<client ID>', '<client secret>');
const workflowSetting = new easyPdfCloud.WorkflowSetting();
const addWatermarkToPdfTask = workflowSetting.AddNewAddWatermarkToPdfTask();
addWatermarkToPdfTask.Angle = 45;
addWatermarkToPdfTask.OutlineOnly = true;
addWatermarkToPdfTask.Text = 'Hello';
const job = await client.startNewJob(workflowSetting, '/Users/someone/input.pdf');
const result = await job.waitForJobExecutionCompletion();
fs.writeFileSync('/Users/someone/output.pdf', result.fileData.blob, 'binary');
})();
TypeScript support
This library supports TypeScript too (.d.ts declaration files are included in this package).
"use strict";
import * as fs from 'fs';
import * as easyPdfCloud from 'easypdfcloud-node';
(async () => {
const client = new easyPdfCloud.Client('<client ID>', '<client secret>');
const workflowSetting = new easyPdfCloud.WorkflowSetting();
const convertPdfToWordTask = workflowSetting.AddNewConvertPdfToWordTask();
const job = await client.startNewJob(workflowSetting, '/Users/someone/input.pdf');
const result = await job.waitForJobExecutionCompletion();
fs.writeFileSync('/Users/someone/output.docx', result.fileData.blob, 'binary');
})();