svgutils

Svg Utils for pasing SVGFile and manipulate Matrix object like Snap.svg

Showing:

Popularity

Downloads/wk

28

GitHub Stars

14

Maintenance

Last Commit

5yrs ago

Contributors

3

Package

Dependencies

6

Size (min+gzip)

60.2KB

License

Apache-2.0

Type Definitions

Tree-Shakeable

No?

Categories

Readme

svgutils

Svg Utils for pasing SVGFile and manipulate Matrix object like Snap.svg

npm status build status dependency status Code Climate experimental Flattr this git repo

Install

npm install svgutils

Requirements

NodeJS

Required version : 0.10.22

Usage

With SVGUtils you can :

  • Convert SVG Document to JSON
  • Convert JSON to SVG Document
  • Manipulate Svg
  • Use Matrix to SVG or elements
  • ...

Warning

For Text and Group, the boundingbox result is not true but it's enough for basic manipulations

Loading SVG file

var Svg = require('svgutils').Svg;


Svg.fromSvgDocument(__dirname + '/test2.svg', function(err, svg){
    // ...
});

Convert SVG file to JSON

var Svg = require('svgutils').Svg;

Svg.fromSvgDocument(__dirname + '/test2.svg', function(err, svg){
    if(err){
        throw new Error('SVG file not found or invalid');
    }

    var json = svg.toJSON();
});

Apply Matrix and get transformed svg

Currents Matrix only

var Svg = require('svgutils').Svg;

Svg.fromSvgDocument(__dirname + '/test2.svg', function(err, svg){
    if(err){
        throw new Error('SVG file not found or invalid');
    }

    svg.applyMatrix(null, function(newSvg){
        console.log(newSvg.toString());
    });
});

Externals and currents Matrix

var Svg     = require('svgutils').Svg,
    Matrix  = require('svgutils';.Matrix;

Svg.fromSvgDocument(__dirname + '/test2.svg', function(err, svg){
    if(err){
        throw new Error('SVG file not found or invalid');
    }

    // Ex : apply translate(10, 20) to all svg
    svg.applyMatrix(new Matrix(1, 0, 0, 1, 10, 20), function(newSvg){
        console.log(newSvg.toString());
    });
});

Save generated SVG or Convert to PNG

Save SVG

var Svg     = require('svgutils').Svg,
    Matrix  = require('svgutils';.Matrix;

Svg.fromSvgDocument(__dirname + '/test2.svg', function(err, svg){
    if(err){
        throw new Error('SVG file not found or invalid');
    }

    svg.save({ output : '/home/user/svg.svg' }, function(err, filename){
        if(err){
            throw err;
        }
    });
});

Save PNG

var Svg     = require('svgutils').Svg,
    Matrix  = require('svgutils';.Matrix;

Svg.fromSvgDocument(__dirname + '/test2.svg', function(err, svg){
    if(err){
        throw new Error('SVG file not found or invalid');
    }

    svg.savePng({ output : '/home/user/svg.png' }, function(err, filename){
        if(err){
            throw err;
        }
    });
});

Convert others formats to SVG

DXF to SVG (thanks to Thomas Desmoulin and his DXF-parsing module)

You can create SVG from DXF file. You can, as you want, get specifics DXF layers.

Svg.fromDxfFile({
    path : __dirname + '/test.dxf'
}, function (err, svg) {
    if(err){
        throw new Error('SVG file not found or invalid');
    }
    
    // your converted svg
});

Contrbute

  • Fork the repo
  • create a branch git checkout -b my_branch
  • Add your changes
  • Commit your changes: git commit -am "Added some awesome stuff"
  • Push your branch: git push origin my_branch
  • Make a pull request to development branch

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial