将Canvas内容导出为PDF

lar*_*555 5 javascript html5 canvas

我正在使用HTML5 Canvas工作.这一切都很好,除了现在,我可以使用Canvas2image将画布内容导出到PNG.但我想将其导出为PDF.我做了一些研究,我很确定它是可能的......但我似乎无法理解我需要在代码中进行哪些更改才能使其正常工作.我已经读过一个名为pdf.js的插件......但我无法弄清楚如何在我的代码中实现它.

第一部分 :

function showDownloadText() {
        document.getElementById("buttoncontainer").style.display = "none";
        document.getElementById("textdownload").style.display = "block";
    }

    function hideDownloadText() {
        document.getElementById("buttoncontainer").style.display = "block";
        document.getElementById("textdownload").style.display = "none";
    }

    function convertCanvas(strType) {
        if (strType == "PNG")
            var oImg = Canvas2Image.saveAsPNG(oCanvas, true);
        if (strType == "BMP")
            var oImg = Canvas2Image.saveAsBMP(oCanvas, true);
        if (strType == "JPEG")
            var oImg = Canvas2Image.saveAsJPEG(oCanvas, true);

        if (!oImg) {
            alert("Sorry, this browser is not capable of saving " + strType + " files!");
            return false;
        }

        oImg.id = "canvasimage";

        oImg.style.border = oCanvas.style.border;
        oCanvas.parentNode.replaceChild(oImg, oCanvas);

        showDownloadText();
    }
Run Code Online (Sandbox Code Playgroud)

并且JS保存图像:

    document.getElementById("convertpngbtn").onclick = function() {
        convertCanvas("PNG");
    }

    document.getElementById("resetbtn").onclick = function() {
        var oImg = document.getElementById("canvasimage");
        oImg.parentNode.replaceChild(oCanvas, oImg);

        hideDownloadText();
    }

}
Run Code Online (Sandbox Code Playgroud)