Node.JS Binding for LibRSVG
LibRSVG is a SVG rendering library, which parses SVG files and renders them in various formats. The formats include:
- Raw memory buffer image
This repository is fork of https://github.com/walling/node-rsvg and has windows support and don't need to export some variables for successfully building on OSX. Also this fork fixes problem with zero-sized buffer rendered in some real rare cases.
Here is a simple example. Look in
index.js for more documentation.
var Rsvg = Rsvg;var fs = ;// Create SVG render instance.var svg = ;// When finishing reading SVG, render and save as PNG image.svg;// Stream SVG file into render instance.fs;
Possible breaking changes
Before v0.6.0 in case of error
Since v0.6.0 possibly breaking change was introduced: now
getBaseURI method always returns string. In case of error an empty string is returned, so it might affect user code that relies on strict equality to
First install the LibRSVG library and header files. Usually you have to look for a development package version. You must also have a functioning build tool chain including
pkg-config. You can find instructions for different operating systems below. After that, you simply run:
npm install librsvg
Library versions known to work:
- LibRSVG 2.26+
- Cairo 1.8.8+
sudo apt-get install librsvg2-dev
RedHat / OpenSUSE:
sudo yum install librsvg2-devel
Mac OS X:
brew install librsvg
If, after installing LibRSVG through homebrew you are experiencing issues installing this module, try manually exporting the package config with this command:
Then try reinstalling this module. For further information, see this thread.
You will need cairo and librsvg-2 libraries which is bundled in GTK. Go to http://www.gtk.org/download/win64.php (or http://www.gtk.org/download/win32.php for 32-bit node) and download the all-in-one bundle (these instructions used the following zip http://win32builder.gnome.org/gtk+-bundle_3.6.4-20131201_win64.zip). Unzip the contents in C:\GTK (if you want to change this you must define -GTK_Root=c:\another\path shell variable to npm or node-gyp to reflect your changes), and add "C:\GTK\bin;" to the PATH environment variable in Windows, it's necessary for node-rsvg runtime to load those libs.