首页 > 解决方案 > JSPDF 不会在 IE11 中创建 PDF

问题描述

我正在调用一个使用 jspdf (1.5.3/jspdf.debug.js) 的页面来创建 PDF。它在 Firefox、Chrome 和 Edge 中运行良好。但是当我在 IE11 中访问该页面时,它只是坐在那里并没有创建 PDF。IE 查看下载窗口中不显示任何内容。

目的是生成纯 PDF,而不是将其嵌入 HTML 文档,我被迫适应 IE11,因为我们的客户使用它。

有什么建议么?

    $(document).ready(function() {
        var doc = new jsPDF('landscape', 'mm');
        var imgData = "data:image/jpeg;base64, <?=$logo;?>";
            doc.addImage(imgData, 'JPEG', 250, 15, 30, 30); // logo image

            doc.setFont("times", "bold");
            doc.setFontSize(32);
            doc.text("Certificate of Achievement",144,35, "center");

            doc.setFont("times", "normal");
            doc.setFontSize(20);
            doc.text("awarded to",144,45, "center");

            doc.setFont("times", "bold");
            doc.setFontSize(34);
            doc.text("John Q. Public",144,65, "center");
        doc.save('training_certificates.pdf');

标签: internet-explorer-11jspdf

解决方案


在 IE 中试试这个演示,看看它是否会触发下载?我使用了官方演示中的数据,并使用了您在代码示例中提供的功能。它在我的IE 11.116.18362.0中运行良好,更新版本: 11.0.126。你的IE版本是多少?

如果它可以在 IE 中触发下载,那么它可能是<?=$logo;?>IE 中的特殊内容。您可以将 IE 中的数据结果与其他浏览器中的数据结果进行比较,看看是否有任何差异。

如果在 IE 中仍然无法触发下载,那么我认为您的 IE 浏览器可能有问题。您可以检查Internet Options -> Security -> Internet or Local Intranet -> Custom level -> Downloads -> File download,将其设置为Enable,然后单击OKApply,然后重新启动 IE 并重试。如果它仍然不起作用,您可以尝试重置重新安装IE 以查看是否有帮助。


推荐阅读