javascript - 导出为 Pdf Angular 6

标签 javascript angular angular6 jspdf html-to-pdf

我想使用 angular 6 将我的 HTML 页面导出为 pdf。 我写了下面的代码来转换成pdf

let dataPdf = document.getElementById('contentToPrint');
const pdf = new jspdf('p', 'pt', 'a4');
pdf.addHTML(document.getElementById('contentToPrint'),()=>{
    pdf.save('web.pdf');
});

出现以下错误:

core.js:12301 ERROR Error: Supplied Data is not a valid base64-String jsPDF.convertStringToImageData 
    at Object.x.convertStringToImageData (jspdf.min.js:50)
    at Object.x.addImage (jspdf.min.js:50)
    at Object.<anonymous> (jspdf.min.js:188)
    at Object.options.complete (html2canvas.js:2711)
    at start (html2canvas.js:2215)
    at Object._html2canvas.Preload (html2canvas.js:2488)
    at html2canvas.js:2719
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:13842)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)

最佳答案

您需要将图像转换为 base64。

如果您的图像是静态的,您可以在这里转换它们: https://www.base64-image.de/
如果图像是动态的: Converting an image to base64 in angular 2

将图像转换为 base64 字符串后,您可以将其传递给 jsPDf:

pdf.addHTML('your base64 string);

关于javascript - 导出为 Pdf Angular 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55068167/

相关文章:

javascript - 如何向 wordpress 菜单项添加 onclick 功能(用于 google 跨域跟踪)

node.js - 未满足的对等依赖性 angular 2.3.0 rxjs zone.js

angular - 在 angular2-rc.7 webpack 中导入 ng2-select

angular - 图片裁剪后如何将base 64转换为图片文件,需要上传服务器

angular - 如何在 Angular 6 中实现按价格范围过滤?

javascript - 如何将函数的参数作为数字而不是 "NaN"进行交互/输出?

javascript - 在 express js 中允许多个 CORS 域

angular - 在 Angular 6 中如何使不区分大小写的 url 模式?

javascript - 使用node.js、nodeunit 和 ES6/Harmony

java - Selenium 不等待元素可点击