0

All:

Right now, I want to draw a svg and style it with external style. Everything goes well until I try to down load it:

function chartExporter(svg){
    // svg is a D3 object
    svg.attr("version", 1.1)
        .attr("xmlns", "http://www.w3.org/2000/svg");
    var svgDOM = svg.node();
    var html = svgDOM.outerHTML;
    var imgsrc = 'data:image/svg+xml;base64,'+ btoa(html);
    imgobj.src = imgsrc;
    imgobj.onload = function(){
        var a = document.createElement("a");
        a.download = "sample.svg";
        a.href = imgsrc;
        a.click();
    }
}

The problem here is: If I use D3 to add inline style or attributes, the svg downloaded seems good, but if I use external css file to include style, those styles can not be applied to svg when converted( it make sense, cos they are not in that html string), I wonder how to bring those style into svg?

Thanks

Kuan
  • 11,149
  • 23
  • 93
  • 201

0 Answers0