Closed d1soft closed 3 years ago
canvas2svg use global defined XMLSerializer. To avoid this problem, you can define globaly XMLSerializer. My snippet with ts, jsdom, c2s
import { JSDOM } from 'jsdom';
import { XMLSerializer } from 'xmldom';
const canvas2svg = require('canvas2svg');
///
public asSvg(): string {
const document = new JSDOM();
// unnecessery line, but just in case
document.window.XMLSerializer = XMLSerializer;
// define globaly window, just in case too :)
global.window = document.window as any
// define globaly XMLSerializer
global.XMLSerializer = XMLSerializer;
// now you can use c2s without a headache
const context = new canvas2svg({
document: document.window.document
});
this.buildContext(context);
return context.getSerializedSvg();
}
I faced problem with missed XMLSerializer.