SVG не отображается - jsPlumb и html2canvas - PullRequest
1 голос
/ 05 марта 2020

Я использую jsPlumb, чтобы показать диаграмму. Все работает нормально, проблема возникает, когда я пытаюсь использовать html2canvas (1.0.0-r c .5), SVG не будет отображаться на изображении. Это код, который я использую:

Функция, которая др aws разъемы:

adjustLine (from, to) {
  jsplumb.jsPlumb.ready(function() {
    var instance = jsplumb.jsPlumb.getInstance();
    instance.importDefaults({
        Connector: ["Flowchart", {
            "stub": 25, 
            "cornerRadius": 5,
        }, {
          "cssClass": "my-connector"
        }],
        paintStyle: {
          strokeStyle: "#000000", 
          lineWidth: 2
        },
        Anchors: ["TopCenter", "BottomCenter"]
    });

    instance.connect({
        source: from,
        target: to,
        endpoint:"Blank"
    });
  });
}

Функция, которая использует html2canvas:

generatePDF () {
  var myDiv = document.getElementById('content');

  var HTML_Width = myDiv.offsetWidth;
  var HTML_Height = myDiv.offsetHeight;

  html2canvas(myDiv, {useCORS: true, allowTaint : true}).then(function (canvas) {
    var imgData = canvas.toDataURL("image/png", 1.0);

    var pdf = new jsPDF('l', 'pt', [HTML_Width, HTML_Height]);
    pdf.internal.scaleFactor = 30;
    pdf.addImage(imgData, 'PNG', 0, 0, HTML_Width, HTML_Height);

    pdf.save("my_file.pdf");
  });
}

Кто-нибудь знает, почему это происходит? Любая помощь с благодарностью!

...