サーバーサイドスクリプト方式
svg 要素を png に保存する簡単な方法を次に示します (ただし、サーバー側のスクリプトを使用するため、予想とは異なる場合があります):このページを確認してください。
著者によって文書化されているように、クライアントは (XMLSerializer.serializeToString を使用して) svg 要素を抽出し、それをサーバーに送信します。サーバーはそれを png に変換し、クライアントに送り返します。サーバーは、便利なプログラム (この場合は rsvg-convert) を使用できます。
Canvg ライブラリ
このライブラリを使用して、クライアント側でこれを行うことができます(チェックしてください!) :
canvg は SVG パーサーおよびレンダラーです。SVG ファイルまたは SVG ファイルのテキストへの URL を受け取り、それを JavaScript で解析し、その結果を Canvas 要素にレンダリングします。
次のように使用します。
//load a svg snippet in the canvas with id = 'drawingArea'
canvg(document.getElementById('drawingArea'), '<svg>... </svg>')
次に、toDataURL メソッドを使用できます。
document.getElementById('drawingArea').toDataURL('image/png');