Может быть, вы можете попытаться построить свой весь контекст SVG с помощью svg.js ,
var draw = SVG(document.documentElement).size(width, height);
draw.text(text).font({
family: 'tAsset.fontFamily',
size: 'fontHeight',
leading: '1.2em',
anchor: "middle"
});
return draw.svg();
, а затем использовать возвращенное значение в точном с созданием нового буфера (SVG).
sharp(buffer).overlayWith(new Buffer(svg), {
top: model.top,
left: model.left
}).toBuffer(function (error, data, info) {
});