div에서 pdf로 변환 할 때 html2pdfmake을 사용하고 있습니다. 내 div 테이블을 포함하고 또한 일부 svg 차트가 포함되어 있습니다. 그러나 나는 pdf로 svg를 얻지 않을 것이다. 나는 base64를 사용하여 그것을 변환하려고 시도했지만 pdf에 base64 코드를 붙여 넣었다. pdfmake 및 html2pdfmake에서 SVG 및 캔버스 처리 방법
var html = d3.select('#idOfSVG').select("svg").attr("version", 1.1).attr("xmlns", "http://www.w3.org/2000/svg").node().parentNode.innerHTML;
var imgsrc = 'data:image/svg+xml;base64,'+ btoa(html);
var base_image = new Image();
base_image.src = imgsrc;
canvas = document.createElement('canvas');
canvas.id = 'canvas'
document.body.appendChild(canvas);
canvas.width = 500;
canvas.height = 500;
canvas.getContext('2d').drawImage(base_image,0,0);
그런 다음 내가 컨텐츠로 같은 추가 :
내가 좋아하는 base64로 내 SVG로 변환.
또한 내가 myPDFDiv
는 DOM에서 삭제됩니다 ParseHtml(content,document.getElementById("myPDFDiv"))
내 사업부를 사용하는 경우.
도움이 될 것입니다!
몇 가지 : 이것은 IE
Kaiido
하지만 pdfmake에 대해 잘 모르는 이래로 왜 b64 문자열을 얻을 수 있는지에 대해서는 설명하지 않았습니다. – Kaiido
@kaido 감사합니다 ... pdfmake에서 모든 항목을 반복 한 다음 pdf에 넣었지만 SVG 또는 캔버스를 지원하지 않아 SVG에 대한 사용자 지정을 작성하므로 pdf에 base64를 추가합니다. –