gibbon-pdf
gibbon-pdf copied to clipboard
Generate PDF with Template and JSON Schema
Gibbon-pdf
Generate PDF with Template and JSON Schema.
Project status: POC
Screencast: https://www.youtube.com/watch?v=2M10x76f6c8
Why this project?
- I would like to move PDF generation from my application in a separate service
- I would like to allow humans to generate PDF manually, via a simple application plugged to the same API.
- I would like to keep a history (optionally) of all document generated
Roadmaps
- [x] Integrate
mozilla-services/react-jsonschema-form
- [x] Integrate
puppeteer
- [x] Docker Image (
harobed/poc-generate-pdf-with-html-template-and-jsonschema:latest
) - [x] curl example
- [x] Screencast
- [ ] Add S3 upload option
- [ ] Add UISchema support
- [ ] Check json input with JSON Schema
- [ ] Test frontend
- [ ] Configure CI
- [ ] Swagger
- [ ] Add option to save generated pdf (in PostgreSQL)
Features
- Generate PDF file from:
- HTML template
- Json field values (validated by JSON Schema)
- Rest API endpoints to generate html preview or PDF
- Web UI to generate PDF manually:
- HTML form are autogenerated by JSON Schema
- User can preview the document or generate the PDF
- Optionnaly record all PDF generation
This project is based on this stack
- Backend:
-
Frontend
- ReactJS, Axios, React-router
-
react-jsonschema-form to generate Form from JSON Schema (need Bootstrap version
v3.3.6
) - Bootstrap
- Tooling
FAQ
How can I enable Authentication system?
This project hasn't build-in authentication system, it's a internal service in your stack, you must protect it by a private network or Basic access authentication system.
Why « Gibbon-pdf » name?
Gibbon as an allusion to Mandrill App.
Invoice examples:
- https://www.sparksuite.com/open-source/invoice.html
Compare with other projects: