TypeScript-based PDF generator and React-based UI. Open source, developed by the community, and completely free to use under the MIT license!
Fast PDF Generator | Easy PDF Template Design | Simple JSON Template |
---|---|---|
Works on Node and browser. Use templates to generate PDFs; complex operations are not needed. | Anyone can easily create templates with the designer. | Templates are JSON data that is easy to understand and handle. |
For the complete documentation of pdfme, please refer to Getting Started.
If you are looking for code examples using pdfme to get started, please check out the pdfme-playground website and the playground source code. Setting these up is covered in the DEVELOPMENT.md file.
While pdfme is a powerful open-source library, we understand that some users might prefer a managed solution. For those looking for a ready-to-use, scalable PDF generation service without the need for setup and maintenance, we offer pdfme Cloud.
Try pdfme Cloud - Hassle-free PDF Generation
pdfme Cloud provides all the features of the open-source library, plus:
- PDF generation at scale without infrastructure management
- Hosted WYSIWYG template designer
- Simple API integration
- Automatic updates and maintenance
*pdfme is and will always remain open-source. The cloud service is an optional offering for those who prefer a managed solution.
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
ProgressLab | New Sponsor |
- pdf-lib: Used in PDF generation.
- fontkit: Used in font rendering.
- PDF.js: Used in PDF viewing.
- React: Used in building the UI.
- form-render: Used in building the UI.
- antd: Used in building the UI.
- react-moveable, react-selecto, @scena/react-guides: Used in Designer UI.
- dnd-kit: Used in Designer UI.
- Lucide: Used in Designer UI and Schema's icon.
I definitely could not have created pdfme without these libraries. I am grateful to the developers of these libraries.
If you want to contribute to pdfme, please check the Development Guide page.
We look forward to your contribution!