pdfmake is a library that generates PDF documents for client-side and server-side use in pure JavaScript. Print PDFs in your browser or delegate them for use by your NodeJS backend. Both cases use the same document definition. Forget manual x and y calculations. Let pdfmake handle the rest. Use paragraphs, columns, lists, tables, canvas, etc. You can create your own styles, use custom fonts and build a DSL to extend the framework. Line wrapping, text-alignments (left to right, centered and justified), numbered or bulleted lists margins, images and vector graphics. Convenient styling, style inheritance and custom style dictionary. Auto/fixed/star-sized/percentage columns widths, col-spans, and row-spans, headers automatically repeated in case of a page-break, non-breaking rows, and non-breaking sections keeping headers and rows together. Static and dynamic content, page numbers and page count.