jspdf html转换pdf,使用jspdf将HTML转换为pdf时出错
對(duì)于一個(gè)角度項(xiàng)目,我試圖將包含HTML代碼的字符串變量轉(zhuǎn)換為pdf文件。
我安置了所有的家屬,比如:
jspdf格式
光柵化HTML
我的代碼如下:
b64DecodeUnicode(str) {
return decodeURIComponent(atob(str).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
getBill() {
//var blob = new Blob([this.b64DecodeUnicode(this.invoicePDF)], {type: "text/html;charset=utf-8"});
var doc = new jsPDF('p','pt','a4');
/* doc.text(20, 20, 'Hello world!');
doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
doc.addPage('a6','l');
doc.text(20, 20, 'Do you like that?');
doc.save('Demo.pdf');*/
var htmlData = String(this.b64DecodeUnicode(this.invoicePDF));
doc.addHTML(htmlData, function () {
doc.save('myfilename' + '.pdf');
});
//FileSaver.saveAs(doc, "facture_"+this.order.reference+".html");
}
為此,我使用jspdf,但我得到了以下錯(cuò)誤:
不是有效的base64字符串jsPDF。convertStringToImageData錯(cuò)誤:
提供的數(shù)據(jù)不是有效的base64字符串
jsPDF.convertStringToImageData
在Object.x.addImage上(jspdf.min.js:50)
在物體上。(jspdf.min.js:188)
網(wǎng)址:jspdf.min.js:188
在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke
在Object.onInvoke上(core.js:3820)
在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke
(js區(qū):387)
js區(qū):872
在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask
在resolvePromise(區(qū)域js:814)
js區(qū):877
在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask
(js區(qū):421)
在Object.onInvokeTask上(core.js:3811)
在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask
在Zone.push../node_modules/Zone.js/dist/Zone.js.Zone.runTask(Zone.js:188)
在drainMicroTaskQueue(zone.js:595)
在ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask
在invokeTask(區(qū)域js:1540)
位于Image.globalZoneAwareCallback(zone.js:1566)
提前謝謝你。
總結(jié)
以上是生活随笔為你收集整理的jspdf html转换pdf,使用jspdf将HTML转换为pdf时出错的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 001A航母为啥能提前入役?
- 下一篇: 2017年html5行业报告,云适配发布