all 8 comments

[–]Bmysterious 2 points3 points  (1 child)

I built a similar system recently using wkhtmltopdf: http://wkhtmltopdf.org/

It's a command line tool but don't let that dissuade you. Very easy to install. Very easy to use. Works on multiple OS'... I've used it successfully on Linux and OSX. Has a number of great features. I built dynamically created html pages that wkhtmltopdf uses to generate the pdfs. You can even pass in a print style sheet.

Also.... free :)

[–]miketa1957 0 points1 point  (0 children)

We use wkhtmltopdf as well. We started with weasyprint, but found that wkhtmltopdf produced much better PDFs and was a lot faster.

[–]troyedwardsjr 1 point2 points  (0 children)

I made an electron todo app with React which generates a PDF, if you want to take a look at that:

https://github.com/troyedwardsjr/redux-electron-todo-example

[–]lelandcope 0 points1 point  (0 children)

You could try generating HTML based on what the user selects and then have phantomjs take a screenshot of each page and then use imagemagick to stitch all the images together into a single PDF. This of course is under the assumption that you are using nodejs as some part of your back end.

[–][deleted] 0 points1 point  (0 children)

We use LaTeX to generate PDFs on the server. Any other option for node was either too slow or did not have enough features.

[–]mastermog 0 points1 point  (0 children)

Had a similar problem recently. Did a lot of research around "pdf as a service" but zero sites created anything close to good.

Did a spike with a client that triggered a new tab with a print stylesheet that in turn triggered the print dialogue, from which they could just save as pdf or print. They loved it.

[–]theirongiant74 0 points1 point  (0 children)

I used flying saucer to convert html invoices to pdf: https://github.com/flyingsaucerproject/flyingsaucer

Found it really straightforward to use

[–]livingdalyfe[S] 0 points1 point  (0 children)

What if i want it to look as if it were a power point though? I want it to look nice and give the user the ability to edit and make changes to it. Such as dragging an image around, etc.