gibbon-pdf icon indicating copy to clipboard operation
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

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: