@exportsdk/client
v0.5.0
Published
JavaScript/TypeScript API client for exportsdk
Downloads
249
Readme
exportsdk-js
A JavaScript/TypeScript API client for ExportSDK.
Table of contents
Obtain an API key
Visit the ExportSDK dashboard, select the appropriate organization and grab an existing API key or generate a new one.
Install package
npm install @exportsdk/client
Basic Usage
Import the client class and instantiate it with an API key. Both the ES module syntax and CommonJS module syntax are supported.
// ES Module
import { ExportSdkClient } from '@exportsdk/client';
// CommonJS module
const { ExportSdkClient } = require('@exportsdk/client');
const client = new ExportSdkClient(process.env.EXPORTSDK_API_KEY);
Begin rendering PDFs by providing a template ID (obtained from the ExportSDK dashboard) and the data required for that template. PDFs can be generated as NodeJS readable streams (convenient for sending as HTTP responses) or binary data.
const templateId = 'eea2644c-9110-453f-a558-b0541664fb52';
const templateData = {
firstName: 'Jon',
middleName: 'Bon',
lastName: 'Jovi',
};
const binary = await client.renderPdf(templateId, templateData);
const stream = await client.renderPdfToStream(templateId, templateData);
Example Application
An example Express.js
application demonstrating the use of ExportSdkClient
can be found here.
ExportSdkClient API reference
The following sections document the public properties, methods and types of the ExportSdkClient
object.
Properties
get apiKey: string
Returns the API key that was used to initialize the client object, or that was last used to call ExportSdkClient.prototype.setApiKey
.
Methods
ExportSdkClient.prototype.renderPdf
renderPdf<TemplateData extends Record<string, unknown>>(
templateId: string,
templateData?: TemplateData,
partialOptions: Partial<RenderPdfOptions> = {}
) : Promise<Response<Uint8Array>>
Renders the template associated with the provided template ID using the provided data. Returns the rendered template to binary data.
ExportSdkClient.prototype.renderPdfToStream
renderPdfToStream<TemplateData extends Record<string, unknown>>(
templateId: string,
templateData?: TemplateData,
partialOptions: Partial<RenderPdfToStreamOptions> = {}
): Promise<Response<NodeJS.ReadableStream>>
Renders the template associated with the provided template ID using the provided data. Returns the rendered template as a NodeJS ReadableStream
, which is convenient for returning the PDF file as an HTTP response.
ExportSdkClient.prototype.setApiKey
setApiKey(apiKey: string): void
Sets the API key used to authenticate the HTTP requests to the ExportSDK REST API.
Types
CommonPdfOptions
interface CommonPdfOptions {
debug?: boolean;
filename?: string;
}
PdfEncoding
type PdfEncoding =
| 'ascii'
| 'utf8'
| 'utf16le'
| 'ucs2'
| 'base64'
| 'latin1'
| 'binary'
| 'hex';
RenderPdfOptions
interface RenderPdfOptions extends CommonPdfOptions {
encoding: PdfEncoding;
}
RenderPdfToStreamOptions
type RenderPdfToStreamOptions = CommonPdfOptions;
Response<DataType>
interface Response<DataType> {
data: DataType;
status: number;
}