node-canvas
Node canvas is a Cairo backed Canvas implementation for NodeJS
...This project is an implementation of the Web Canvas API and implements that API as closely as possible. For API documentation, please visit Mozilla Web Canvas API. (See Compatibility Status for the current API compliance.) All utility methods and non-standard APIs are documented. When MIME data is tracked, PDF canvases can embed JPEGs directly into the output, rather than re-encoding into PNG. This can drastically reduce filesize and speed up rendering. If working with a non-PDF canvas, image data must be tracked, otherwise the output will be junk.