首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么jspdf不在移动web应用程序上工作?

为什么jspdf不在移动web应用程序上工作?
EN

Stack Overflow用户
提问于 2019-04-03 06:37:59
回答 1查看 861关注 0票数 0

角版本7,jspdf 1.5.3

我开发了一个使用angular7的webapp应用程序,它也可以在移动浏览器中使用。在按钮点击我生成的pdf使用jspdf,但它不工作的任何移动版本。以各种可能的方式尝试。我以前经常在手机上调试,请帮我处理一下

代码语言:javascript
复制
<button (click)="generatePDF()" class='btn btn-primary pdf'><i class="far fa-file-pdf"></i>Generate PDF</button>



public generatePDF() {
    var data = document.getElementById('contentToConvert');
    var data_width = document.getElementById('contentToConvert').clientWidth;
    html2canvas(document.querySelector('#contentToConvert')).
        then(canvas => {
            var imgWidth = data_width;
            var imgHeight = canvas.height * imgWidth / canvas.width;
            const contentDataURL = canvas.toDataURL('image/jpg', 0.5);
            let pdf = new jspdf('p', 'pt', [imgWidth + 10, imgHeight + 10], true);
            pdf.addImage(contentDataURL, 'PNG', 5, 5, imgWidth, imgHeight, undefined, 'FAST');
            let mydate = new Date()
            let month = mydate.getUTCMonth() + 1;
            let formatedDate = mydate.getUTCDate() + "_" + month + "_" + mydate.getFullYear();
            let fileName = formatedDate + '_' + 'Calendario_' + 'Darzalex_' + this._pdetails.Tratamientos
            pdf.save(fileName + ".pdf");
        });
}
EN

回答 1

Stack Overflow用户

发布于 2019-06-03 12:38:02

在这里,您将转换为jpeg:

const contentDataURL = canvas.toDataURL('image/jpg', 0.5);

在这里,您添加的图像就好像它是一个PNG:

pdf.addImage(contentDataURL, 'PNG', 5, 5, imgWidth, imgHeight, undefined, 'FAST');

如果你仍然有问题,我建议张贴更多的细节,你正在得到的结果。如果图像没有显示,那么我认为调整上面的图像格式(所有JPEG或所有PNG)可能会修复它。如果没有保存该文件,请查看filesaver.js或应用程序的上下文。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55488575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档