JavaScript / TypeScript SDK
The Renderize SDK provides a seamless way to interact with the Renderize API for rendering PDFs from HTML and CSS. This library is designed for both JavaScript and TypeScript environments, offering a robust and straightforward interface.
Features
- Flexible Configuration: Customize PDF format, orientation, and margins.
- Multiple Response Types: Receive rendered PDFs as streams, blobs, or array buffers.
- TypeScript Support: Fully typed interfaces for safe and predictable usage.
- Lightweight: Minimal dependencies (
ofetch
) for efficient HTTP requests.
Installation
To use the Renderize SDK, install it via your package manager:
# Using pnpm
pnpm add @renderize/lib
# Using npm
npm install @renderize/lib
# Using Yarn
yarn add @renderize/lib
Ensure you are using Node.js version >=20.0.0
as specified in the engines
field.
Usage
Creating a Client
You'll need an API key to authenticate requests to the Renderize API. If you don't have one yet, you can sign up for a free account at Renderize.
Start by creating a client instance using your API key. The createClient
function accepts an optional baseApiUrl
parameter, defaulting to the Renderize API base URL.
import { createClient } from '@renderize/lib';
const client = createClient({ apiKey: 'your-api-key' });
Rendering a PDF
Use the renderPdf
method to generate a PDF from an HTML string. Customize the PDF's format, orientation, and margins as needed.
const pdfBuffer = await client.renderPdf({
html: '<h1>Hello, World!</h1>',
format: 'a4', // Optional: 'letter', 'legal', etc.
orientation: 'portrait', // Optional: 'landscape' or 'portrait'
margin: { top: 10, bottom: 10, left: 10, right: 10 }, // Optional
responseType: 'arrayBuffer', // Optional: 'stream', 'blob', or 'arrayBuffer'
});
// Do something with the PDF buffer (e.g., write to a file)
await writeFile('output.pdf', Buffer.from(pdfBuffer));
API Reference
createClient
Creates an instance of the Renderize client.
Parameters
apiKey
(string): Your API key for authenticating requests.baseApiUrl
(string, optional): Base URL for the Renderize API. Defaults tohttps://rndz.tech
.
Returns
An object containing methods for interacting with the Renderize API.
renderPdf
Renders a PDF from the provided HTML content.
Parameters
html
(string): The HTML string to render.format
(string, optional): PDF format (e.g., 'letter', 'a4'). Defaults toa4
.orientation
(string, optional): Page orientation ('portrait'
or'landscape'
). Defaults to'portrait'
.margin
(object, optional): Margins for the PDF (in points). Keys:top
,right
,bottom
,left
.responseType
(string, optional): Response type ('stream'
,'blob'
, or'arrayBuffer'
). Defaults to'arrayBuffer'
.
Returns
A promise that resolves to the PDF in the requested format.
License
This SDK is released under the MIT License, allowing you to use it in both personal and commercial projects. If you encounter any issues or have suggestions for improvement, feel free to open an issue or pull request on the GitHub repository.