Client/server side PDF printing in pure JavaScript

Usage no npm install needed!

<script type="module">
  import ahmadazadPdfmake from 'https://cdn.skypack.dev/@ahmadazad/pdfmake';


pdfmake Build Status GitHub npm Bower Packagist CDNJS

PDF document generation library for server-side and client-side in pure JavaScript.

Check out the playground and examples.

This is unstable master branch for version 0.2.x, for stable version 0.1.x see branch 0.1.


  • line-wrapping,
  • text-alignments (left, right, centered, justified),
  • numbered and bulleted lists,
  • tables and columns
    • auto/fixed/star-sized widths,
    • col-spans and row-spans,
    • headers automatically repeated in case of a page-break,
  • images and vector graphics,
  • convenient styling and style inheritance,
  • page headers and footers:
    • static or dynamic content,
    • access to current page number and page count,
  • background-layer,
  • page dimensions and orientations,
  • margins,
  • custom page breaks,
  • font embedding,
  • support for complex, multi-level (nested) structures,
  • table of contents,
  • helper methods for opening/printing/downloading the generated PDF,
  • setting of PDF metadata (e.g. author, subject).


Documentation URL: https://pdfmake.github.io/docs/

Building from sources

using npm:

git clone https://github.com/bpampuch/pdfmake.git
cd pdfmake
npm install
npm run build

using yarn:

git clone https://github.com/bpampuch/pdfmake.git
cd pdfmake
yarn run build




pdfmake is based on a truly amazing library pdfkit (credits to @devongovett).

Thanks to all contributors.