npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@renderize/lib

v1.0.3

Published

Renderize SDK for JavaScript and TypeScript

Downloads

123

Readme

Renderize JavaScript 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.

Table of Contents

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 to https://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 to a4.
  • 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 licensed under the MIT License.