convertsvg
v1.3.0
Published
base svg element convert path
Downloads
2
Maintainers
Readme
convertSvg
WARNING: fork from https://github.com/convertSvg/convertPath , all credits go to https://github.com/convertSvg
A node lib to convert svg shape elements into path svg elements.
Install
npm install convertsvg
What it can do
convertsvg has a plugin-based architecture, so almost every optimization is a separate plugin.
Today we have:
| Plugin | Description | | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | convertUseToGroup | convert defs and symbol elements into group svg elements. | | | | convertShapeToPath | convert svg shape elements into path svg elements. | | removeGroups | move some group and move some group attributes to the contained elements | | convertTransfromforPath | remove transform attribute and convert path data to relative | | removeGradient | remove gradient if reference via url('#id') | | viewBoxTransform | remove width/height attributes and reset ViewBox |
Usage
const SVGParser = require('convertsvg')
const parse = SVGParser.parse('<svg />', {
plugins: [
{
convertUseToGroup: true, // at first
},
{
convertShapeToPath: true,
},
{
removeGroups: true,
},
{
convertTransfromforPath: true,
},
{
viewBoxTransform: true, // at last
},
],
size: 1000,
})
const {
error,
data,
} = parse.getResult()
console.log(error, data)
const paths = parse.getPathAttributes()
console.log(paths)
/**
* '<circle cx="500" cy="500" r="20" fill="red"/>'
*/
console.log(parse.toSimpleSvg())
/**
* '<path d="M500,500,m-20,0,a20,20,0,1,0,40,0,a20,20,0,1,0,-40,0,Z" fill="red"/>'
*/