
Ask HN: How to Convert HTML to PNG on a Serverside? - Fruzenshtein
Hello everyone!<p>I need an advice. I work on a web app, that needs to send PNG images to users based on their achievements. The easiest way to do that is to construct an HTML that contains all the information, make a screenshot of it and finally upload it to the server. But this solution is extremely not optimal.<p>So I&#x27;m curious how to implement the same logic, but without frontend involvement in terms of image generation. I know that there are many commercial libs and services for that, but maybe there is some open-source more or less good libs for that.<p>I&#x27;m fine to work with Java, Scala, NodeJS or Golang.<p>Any advice is welcome!
======
j45
Not quite HTML, another way to similar output:

Both of the below should have a library you can use to generate the text into
an image, if you don't want to work with them directly.

[http://www.graphicsmagick.org](http://www.graphicsmagick.org)

[https://imagemagick.org/index.php](https://imagemagick.org/index.php)

------
jeanvalmarc
[https://wkhtmltopdf.org/](https://wkhtmltopdf.org/)

~~~
Fruzenshtein
Wow! That's something what I'll try to use today Thanks

------
onesmallcoin
I'm currently bootstrapping an api/sass that takes any url and converts it to
an image. It runs on top of chromium and uses the CDP protocol to do cool
things like automate basic auth, custom http headers, injected js, mock mobile
templates and device emulation, custom interactions with the webpage, it can
also return json or upload the results to dropbox, s3, or google cloud
storage. I'm looking to chat with people interested in this kind of technology
as I polish off the final touches on the API and get the product live!

What kind of features would be useful to you if you were to go the API route
for something like this?

------
dustinmr
This arrived in my RSS feed today. Seems to fit the bill.

[https://www.thepolyglotdeveloper.com/2019/12/generate-
images...](https://www.thepolyglotdeveloper.com/2019/12/generate-images-from-
html-with-gulp-and-puppeteer/)

------
Grazester
There are libraries for converting HTML to PNG. Why would you need the
frontend for anything?

Grab the users' achievement from the database(I could only assume user data is
stored here). Format it however you want it to look in an HTML file then
convert said HTML to a PNG. Its dead simple.

I did the equivalent but with PDF's for customer bills for a past job.

~~~
Fruzenshtein
the main point here — I can not find any good lib with good community on
GitHub I know there is html2image-java, but it's not maintained for a while :(

------
perilunar
Does it need to be HTML? SVG is easy to generate programmatically, and doesn't
need to be converted.

~~~
Fruzenshtein
I was considering HTML, since I know that it's pretty easy to represent with
help of it what I need :) Haven't worked with SVG before, but apparently I
have to look on it closer Thanks!

------
chriskinsman
Headless chrome/puppeteer...

~~~
Fruzenshtein
No-no Headless chrome / firefox doesn't work here, since I need to run
Selenium on the server and that's the most obvious overhead because any
browser, even in a headless mode consumes RAM. This becomes even more critical
if you need to process more than 100 images per minute :|

~~~
samwillis
From experience 100 images / min with chrome and puppeteer (you don't need
Selenium) is more than doable with less than 1gb ram.

