bpampuch/pdfmake

Client/server side PDF printing in pure JavaScript

JavaScript

12,351

1,403 commits

updated Jun 12, 2026

See the code

README

pdfmake Node.js CI GitHub npm

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

Check out the playground and examples.

Features

  • 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,
    • snaking columns (newspaper-style layout where content flows column-to-column),
  • 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,
  • document sections,
  • 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

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

Source of documentation: https://github.com/pdfmake/docs Improvements are welcome!

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
yarn run build

License

MIT

Authors

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

Thanks to all contributors.

bpampuch/pdfmake

Client/server side PDF printing in pure JavaScript

JavaScript

12,351

1,403 commits

updated Jun 12, 2026

See the code

README

pdfmake Node.js CI GitHub npm

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

Check out the playground and examples.

Features

  • 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,
    • snaking columns (newspaper-style layout where content flows column-to-column),
  • 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,
  • document sections,
  • 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

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

Source of documentation: https://github.com/pdfmake/docs Improvements are welcome!

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
yarn run build

License

MIT

Authors

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

Thanks to all contributors.

Project health

Overall

3.2/10

Maintained

0/10

Code review

0/10
OpenSSF Scorecard

Latest release

0.3.11 · Jun 12, 2026

Releases this year

15

Significant stargazers

(top 24 of 58)

Sylvain Filoni

247 followers · starred Mar 2019

Pascal Hertleif

970 followers · starred May 2014

Sławomir Dadas

89 followers · starred Sep 2021

Goutham Veeramachaneni

559 followers · starred Jun 2015