角度版本7,jspdf 1.5.3
我已经使用angular7开发了一个webapp,它也可以在移动浏览器中使用。在按钮上单击,我正在使用jspdf生成pdf,但它不适用于任何移动版本。尽一切可能尝试。提醒我曾经在移动设备上调试过,请为此提供帮助
<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");
});
}
答案 0 :(得分:0)
这里您要转换为jpeg:
const contentDataURL = canvas.toDataURL('image/jpg', 0.5);
在这里,您将图像添加为PNG:
pdf.addImage(contentDataURL, 'PNG', 5, 5, imgWidth, imgHeight, undefined, 'FAST');
如果您仍然遇到问题,建议您发布有关所获得结果的更多详细信息。如果图像未显示,那么我认为对齐以上图像格式(所有JPEG或所有PNG)可能会解决该问题。如果未保存文件,请查看filesaver.js或应用程序的上下文。