* docs: add list schema implementation plan * feat(schemas): add list schema * fix(schemas): improve list form editing * fix(schemas): localize list editing labels * fix(schemas): align table control buttons * fix(schemas): keep list designer editing during actions * fix(tsconfig): resolve list schema subpath * fix(schemas): keep list action clicks isolated * fix(schemas): support empty list state * fix(schemas): allow editing list items in designer * fix(schemas): keep list designer editing on enter * fix(schemas): ignore IME enter in list editor * fix(schemas): make enter insert list item line breaks * test(generator): add list plugin to playground snapshots * refactor(schemas): render list items with text ui * fix(schemas): adapt list prop panel fields by style * fix(schemas): simplify list options and nested numbering * Reorder import statements in generate-templates-thumbnail * Reorder List plugin in getPlugins function * fix(ui): reflow schemas after dynamic list resize * chore: remove obsolete list plan * fix(ui): reflow form list height changes * fix(ui): keep designer height changes local * fix(schemas): commit list item line breaks immediately * fix(schemas): restore list focus after line break rerender * fix(schemas): keep form list focused after enter * test(generator): update dynamic list snapshots * fix(schemas): store list content as json arrays * fix(schemas): address list review cleanup * test(ui): update designer snapshot * chore: trim list pr noise * fix(schemas): align list markers in ui
PDFME
Website | pdfme Cloud | Discord
TypeScript-based PDF generator and React-based UI. Open source, developed by the community, and completely free to use under the MIT license!
Features
| Fast PDF Generator | Easy PDF Template Design | Simple JSON Template |
|---|---|---|
| Works on Node and in the browser. Use templates to generate PDFs—complex operations are not required. | Anyone can easily create templates using the designer. | Templates are JSON data that is easy to understand and work with. |
Custom Feature Requests
While pdfme is an open-source project released under the MIT License, we are open to considering custom feature additions for a fee.
If you are willing to pay, we can evaluate and implement your requested features.
Please note that any additional functionality will always be released as open source. If this approach works for you, please contact us.
For a detailed list of supported features, please refer to the Supported Features page.
Documentation
For complete documentation on pdfme, please refer to the Getting Started guide.
For the planned next major release changes, see the migration guide draft.
Need interactive help? Use DeepWiki to ask questions about pdfme's documentation and source code directly.
CLI Workflow
For agentic workflows, local verification, or JSON-first template iteration, use @pdfme/cli.
pdfme validate: validate template or unified job JSON before generationpdfme doctor: diagnose runtime, font,basePdf, and output-path issues beforegeneratepdfme generate --image --grid: generate PDFs and inspect layout via rendered page imagespdfme examples --withInputs: export official example assets as a unified job you can edit and regenerate
Examples Using pdfme
If you're looking for code examples to get started with pdfme, check out the pdfme-playground website and the playground source code. Setup instructions can be found in the DEVELOPMENT.md file.
Cloud Service Option
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 hassle of 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 will always remain open source. The cloud service is an optional offering for those who prefer a managed solution.
Sponsors
Support this project by becoming a sponsor. Your logo will appear here with a link to your website.
![]() |
|||
|---|---|---|---|
| ProgressLab | PhotoQuest | Famly | New Sponsor |
Contributors
Special Thanks
- pdf-lib: Used for PDF generation.
- fontkit: Used for font rendering.
- PDF.js: Used for 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 the Designer UI.
- dnd-kit: Used in the Designer UI.
- Lucide: Used in the Designer UI and Schema's icon.
I definitely could not have created pdfme without these libraries. I am grateful to the developers of these projects.
If you want to contribute to pdfme, please refer to the Development Guide.
We look forward to your contributions!
