2015-01-08 2 views
0

canvg를 사용하여 svg 요소를 캔버스에 렌더링하고 jspdf를 사용하여 다운로드합니다. 은 아래에있는 내 코드입니다 :canvg를 사용하여 svg에서 이미지를 캔버스로 변환 한 이미지가 흐림.

svgElement = jQuery('#svg'); 

canvas = jQuery('<canvas />').attr({ 
    width: svgElement.width(), 
    height: svgElement.height() 
}).get(0); 
ctx = canvas.getContext("2d"); 

canvg(canvas, svgElement.outerHTML(), {ignoreMouse: true, ignoreAnimation: true}); 

imgData = canvas.toDataURL("image/png"); 
pdf = new jsPDF('landscape' , 'pt', [svgElement.height(), svgElement.width()]); 
pdf.addImage(imgData, 'PNG', 0, 0);  
pdf.save('download.pdf'); 

그러나 PDF의 이미지는 원래의 (단지 배경의 차이를 무시) 등 흐림, 날카로운하지 분명 같습니다 Original

canvg

I 그것이 아마도 canvg가 캔버스에 svg를 렌더링하는 단계로 인해 발생했을 것으로 생각됩니다. 그러나 나는 그것을 고치는 법을 모릅니다, 아무도 도울 수 있습니까?

+0

혹시 결정 했 : 여기

는 github에의 REPO입니까? canvg를 사용하여 svg에서 canvas로 jpeg로 차트를 변환 할 때 똑같은 것을 보았습니다. – Stephen

답변

0

svgToPdf.js를 사용해 보셨나요? 이 라이브러리를 사용하여 단계를 건너 뛸 수 있으며 이미지가 더 선명해질 수 있습니다. 이미지가 흐릿하게 나오는 이유

https://github.com/CBiX/svgToPdf.js

관련 문제