JSPDF html2Canvas无法在iOS浏览器上下载PDF文件 [英] JSPDF html2Canvas not downloading the PDF file on IOS browsers

查看:0
本文介绍了JSPDF html2Canvas无法在iOS浏览器上下载PDF文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个创建HTMLCSS DIV的项目,我正在使用JSPDF和html2Canvas来转换DIV并下载它,这在PC和Android上都能很好地工作,但在iOS浏览器中它不能工作,下载按钮什么也不做

JS代码

$('#print').click(function (e) { 
e.preventDefault();
let HTML_Width = $(".report").width();
let HTML_Height = $(".report").height();
let top_left_margin = 1;
let PDF_Width = HTML_Width + (top_left_margin * 2);
let PDF_Height = (PDF_Width * 1.5) + (top_left_margin * 2);
let canvas_image_width = HTML_Width;
let canvas_image_height = HTML_Height;
let totalPDFPages = Math.ceil(HTML_Height / PDF_Height) - 1;
html2canvas($(".report")[0]).then(function (canvas) {
    let imgData = canvas.toDataURL("image/jpeg", 1.0);
    let pdf = new jsPDF('p', 'pt', [PDF_Width, PDF_Height]);
    pdf.addImage(imgData, 'JPG', top_left_margin, top_left_margin, canvas_image_width, canvas_image_height, 'FAST');
    for (let i = 1; i <= totalPDFPages; i++) {
        pdf.addPage(PDF_Width, PDF_Height);
        pdf.addImage(imgData, 'JPG', top_left_margin, -(PDF_Height * i) + (top_left_margin * 4), canvas_image_width, canvas_image_height);
    }
    pdf.save("Report.pdf");
    $(".html-content").hide();
});
});

推荐答案

您尝试过dom-to-image吗?它使用SVG作为容器,忠实地代表了高级的CSS。也许您的问题是受保护的媒体,如YouTube或PDF?别忘了CORS!

...它不工作...

我以为你指的是两(2)件事。也就是说,我假设您的意思是JSPDF addHTML()和/或html2Canvas()&不起作用。除了SAVE()。

这篇关于JSPDF html2Canvas无法在iOS浏览器上下载PDF文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆