как я могу сохранить dom как файл svg с помощью html2canvas? Для скачивания в формате png я сделал что-то вроде следующего:
html2canvas(document.querySelector('#demo')).then(function(canvas) {
saveAs(canvas.toDataURL(), 'image.png');
});
Как я могу добиться аналогичного результата, чтобы сохранить его как файл svg?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы этого не сделаете.
Причина, по которой вы можете экспортировать в png / jpg / и т. д., Заключается в том, что холст представляет собой слой представления пиксельной графики, поэтому для удобства он знает, как создавать поддерживаемые браузером типы изображений, использующие встроенные растровые изображения.
Если вместо этого вам нужна векторная графика, вам нужно будет фактически использовать векторы рисовать, а это означает, что вы не полагаетесь на API-интерфейсы Canvas. Вы либо создаете свой собственный набор инструкций по векторному рисованию (непосредственно генерируя SVG самостоятельно, либо растеризуете объекты на холст исключительно в качестве презентационного слоя), что я бы не рекомендовал, либо вы используете один из нескольких уже существующих пакетов векторной графики, таких как Paper.js, Three.js, Rafael и так далее.
Вы ищете способ конвертировать холст в SVG, посмотрите ответы на этот вопрос stackoverflow.com/questions/8571294/…