Вы можете попытаться использовать PhantomJS и некоторый код, например, используя rasterize.js:
phantomjs rasterize.js http://example.com/
Или используйте NodeJS PhantomJS (см. GitHub , установите через: npm install -g html-pdf), как указано в комментарии. Использование:
html-pdf http://example.com/ example.pdf