A JavaScript/TypeScript API client for ExportSDK.
Visit the ExportSDK dashboard, select the appropriate organization and grab an existing API key or generate a new one.
npm install @exportsdk/client
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);
An example Express.js
application demonstrating the use of ExportSdkClient
can be found here.
The following sections document the public properties, methods and types of the ExportSdkClient
object.
Returns the API key that was used to initialize the client object, or that was last used to call ExportSdkClient.prototype.setApiKey
.
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.
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.
setApiKey(apiKey: string): void
Sets the API key used to authenticate the HTTP requests to the ExportSDK REST API.
interface CommonPdfOptions {
debug?: boolean;
filename?: string;
}
type PdfEncoding =
| 'ascii'
| 'utf8'
| 'utf16le'
| 'ucs2'
| 'base64'
| 'latin1'
| 'binary'
| 'hex';
interface RenderPdfOptions extends CommonPdfOptions {
encoding: PdfEncoding;
}
type RenderPdfToStreamOptions = CommonPdfOptions;
interface Response<DataType> {
data: DataType;
status: number;
}