inventid / pedeffy

Generate any PDF file from a template. Within a microservice. Using React.
MIT License
25 stars 4 forks source link

Pedeffy

pedeffy on NPM Maintainability Dependency Status

Generate any PDF file from a template. Within a microservice. Using React.

What else would you want?

How does it work?

Pedeffy uses the awesome react-pdf package under the hood to transform your React code into the PDF you want. As a result, you can use the components from react-pdf to create your setup.

To see this in action, see the example/inventid/firstPage.js file. You can use all of Reacts features to create nice reusable components.

This is then combined with the inventid approach used by maily. This gives you the flexibility to create a layout using React, and to get the resulting document by POSTing data to the service endpoint.

Example

  1. Clone this repository
  2. Ensure you use node 8.9
  3. Run yarn install
  4. Run yarn example
  5. Go to http://localhost:3000/resume where you will see the resume of Luke Skywalker
  6. Now go to http://localhost:3000/resume?footer=React-pdf%20as%20a%20service%20sounds%20like%20a%20great%20idea!. Note how the text in the footer is directly updated!

Using react-pdf components

Components should not be used through react-pdf named export, but should use the named export on pedeffy itself. This ensures the fonts, among other things, are registered in the correct render path.

What to use it for?

At inventid, we use it for the following purposes: Generate lots of documents using a framework (React) which we love and library (react-pdf) which is really easy to learn.

Sounds awesome

It is.

Running it in Docker

todo

Big shoutout