Jan Blaha

Blog about software development

Converting html to pdf in node.js

jsreport node.js

jsreport is a quite complex platform for doing pdf reports but it can be easily used also in very simple use cases like html to pdf conversion. You just need to do one function call and it will spin for you a phantomjs webkit worker and print html into pdf.

npm install jsreport

require("jsreport").render("<h1>Hi there!</h1>").then(function(out) {
    //pipe pdf with "Hi there!"

As a bonus you get all other jsreport features:

  1. great performance when doing many conversions because it will keep couple of phantom.js instances hot and running for the whole time
  2. time out handling - it will recycle phantom.js instance when rendering takes long time
  3. javascript templating engines rendering - you can just send template and it will render html dynamically using specified javascript templating engine, input data and helper functions

Check out jsreport node.js documentation for other benefits.

last blog posts

09-12-2017 18:40 jsreport

Quite some time ago I blogged about rendering pdf reports in c#. Recently we have added excel reports into jsreport and it was released with a little delay also into .NET. This means you should be able to use both html-to-xlsx and xlsx recipes to create excel files from your .NET environments now.

read more

09-10-2015 14:09 AWS

Such a very common thing like adding an existing external volume to Amazon elastic beanstalk is not easily supported out of the box. The official blog mentions only how to attach a snapshot or how to attach and overwrite a new volume every time the service starts. It took me a while to make the config file actually adding an existing volume without formatting it every time so I share it here with you...

read more

04-10-2015 14:09 jsreport

The best practice when adding email notifications feature to your system is to separate as much as you can from email body assembling to email sending outside of the core system. The emails templates quite likely often changes and you don't want to deploy the system because of every single notification change. The best is to just separate everything into an external system and give the access to your PR or Marketing department so they change emails as the time goes without affecting the core system.

read more

Jan Blaha

About author

Hi! My name is Jan Blaha. I'm software developer and startup enthusiastic. See my current work.