Skip to content
forked from anru/node-rsvg

Parse SVG files and render them as PNG, PDF, SVG, or raw memory buffer images.

License

Notifications You must be signed in to change notification settings

ktoto/node-rsvg

This branch is 6 commits behind anru/node-rsvg:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Stanislav Svirid
Jun 22, 2015
4463f8c · Jun 22, 2015

History

59 Commits
Jun 22, 2015
Dec 15, 2014
Jun 13, 2014
Jan 16, 2014
Dec 17, 2013
Dec 18, 2013
Jun 4, 2015
Dec 15, 2014
Dec 15, 2014
Dec 2, 2013
Jun 4, 2015
Dec 17, 2014

Repository files navigation

Node.JS Binding for LibRSVG

LibRSVG is a SVG rendering library, which parses SVG files and renders them in various formats. The formats include:

  • PNG
  • PDF
  • SVG
  • Raw memory buffer image

Build Status

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.

Basic Usage

Here is a simple example. Look in index.js for more documentation.

var Rsvg = require('librsvg').Rsvg;
var fs = require('fs');

// Create SVG render instance.
var svg = new Rsvg();

// When finishing reading SVG, render and save as PNG image.
svg.on('finish', function() {
  console.log('SVG width: ' + svg.width);
  console.log('SVG height: ' + svg.height);
  fs.writeFile('tiger.png', svg.render({
    format: 'png',
    width: 600,
    height: 400
  }).data);
});

// Stream SVG file into render instance.
fs.createReadStream('tiger.svg').pipe(svg);

Installation

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+

Ubuntu:

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:

export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig

Then try reinstalling this module. For further information, see this thread.

Windows:

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.

About

Parse SVG files and render them as PNG, PDF, SVG, or raw memory buffer images.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 52.3%
  • JavaScript 43.7%
  • Python 3.4%
  • C 0.6%