svg-text-to-vector

2.6.0 • Public • Published

SVG Text to Vector

A powerful tool for runtime text to vector conversion of complex SVG files.

Features:

- Supported Tags: 'text | tspan'.

- Attributes: Supports all major attributes including x, y, dx, dy, opacity, stroke, transform, class-based styling etc.

- Colors: Supports Solid Fill, Linear and Radial Gradients.

- Dynamic Font Handling: Offers dynamic runtime addition of fonts to its native config/fonts.json file.

Installation

npm install --save svg-text-to-vector

Usage

const ConvertToPath = require('svg-text-to-vector');

Load | Save as Files

var svgTextPath = require('svg-text-to-vector');

var options={
load:'file.svg',
save:'file-convert.svg'
}	

const convert = await svgTextPath.getPath(options);

Load | Save as Buffer

var svg = fs.readFileSync('./public/file.svg');
svg=Buffer.from(svg);

var options={
load:svg,
save:'buffer'
}

const convert = await ConvertToPath.getPath(options);

Load | Save as Base64

var svg = fs.readFileSync('./public/file.svg','base64');

var options={
load:svg,
save:'base64'
}

const convert = await ConvertToPath.getPath(options);

Load | Save as SVG String (utf-8)

var svg = fs.readFileSync('./public/file.svg',{encoding:'utf8'});

var options={
load:svg,
save:'utf8' | 'utf-8'
}

const convert = await ConvertToPath.getPath(options);

Fonts Handling

  • All dynamically added & built-in font names & paths load from svg-text-to-vector/config/fonts.json file

Dynamically Add Fonts

  • Dynamically add fonts with json key & value pair {�name�, �path�}. Each font needs to be added one time only for all future purposes.
var font={"name":"Lexend Tera","path": "/lexend_tera.ttf"};

const addFonts = await ConvertToPath.push(font);

Add Fonts Manually

  • Open svg-text-to-vector/config/fonts.json and simply add more fonts.
{
   "font":[
      {
         "name":"Times New Roman",
         "path":"./public/fonts/times.ttf"
      },
      {
         "name":"Anton",
         "path":"./public/fonts/anton.ttf"
      }	  
   ]
}

API

Options

Params                                                                              Data Type                                                    Description
options.load {String - Buffer - Base64 - UTF-8} Contains SVG object that needs to be converted. Loads from a Local Directory or from type Buffer - Base64 - SVG String
options.save {String} Returns the convert to path SVG object. Saves to a Local Directory or returns type Buffer - Base64 - SVG String
options.font {String} Optional - Param for default font. Applicable if unable to find the relevant font. Default is Times New Roman
options.fontPath {String} Optional - Param for default font path. Applicable if unable to find relevant fonts and options.font param is defined. Default is svg-text-to-vector/config/fonts/times.ttf
options.fontSize {Number} Optional - Param for default font size. Applicable if no font size is defined within SVG text tag. Default is 16

Performance & Compatibility

The package ensures fast and efficient performance and is fully compatible with all the popular Node.js frameworks.

License

MIT

Package Sidebar

Install

npm i svg-text-to-vector

Weekly Downloads

60

Version

2.6.0

License

MIT

Unpacked Size

82.6 kB

Total Files

6

Last publish

Collaborators

  • javedblch