28 lines
764 B
JavaScript
28 lines
764 B
JavaScript
var page = require('webpage').create();
|
|
var system = require('system');
|
|
var svg = system.args[1];
|
|
var svgUrl = 'data:image/svg+xml,' + window.encodeURI(svg);
|
|
var tmpFile = system.args[2];
|
|
|
|
page.viewportSize = getSvgDimensions(svg);
|
|
page.open(svgUrl, function(status) {
|
|
if (status !== 'success') {
|
|
console.error('Failed to load the following SVG data:');
|
|
console.error(svgUrl);
|
|
phantom.exit(1);
|
|
} else {
|
|
page.render(tmpFile);
|
|
phantom.exit();
|
|
}
|
|
});
|
|
|
|
function getSvgDimensions(svg) {
|
|
var frag = window.document.createElement('div');
|
|
frag.innerHTML = svg;
|
|
var svgRoot = frag.querySelector('svg');
|
|
return {
|
|
width: parseFloat(svgRoot.getAttribute('width') || 80),
|
|
height: parseFloat(svgRoot.getAttribute('height') || 19)
|
|
};
|
|
}
|