jspdf html转换pdf,使用jspdf将HTML转换为pdf时出错

对于一个角度项目,我试图将包含HTML代码的字符串变量转换为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,但我得到了以下错误:

不是有效的base64字符串jsPDF。convertStringToImageData错误:

提供的数据不是有效的base64字符串

jsPDF.convertStringToImageData

在Object.x.addImage上(jspdf.min.js:50)

在物体上。(jspdf.min.js:188)

网址: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区:387)

js区:872

在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask

在resolvePromise(区域js:814)

js区:877

在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask

(js区: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(区域js:1540)

位于Image.globalZoneAwareCallback(zone.js:1566)

提前谢谢你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

澄海哪里学机器人编程_终于发现小孩有必要学机器人编程吗

让孩子学习编程的目的,就像其他教育方式一样,只是希望能帮助孩子找到他的兴趣点,打开孩子的获取知识和能力的大门。一起来看看一篇小孩有必要学机器人编程吗。小孩有必要学机器人编程吗编程和英语类似,属于基本技能,未…

鸿蒙系统替代iOS,华为横空出世!鸿蒙系统,能否替代安卓IOS?

原标题:华为横空出世!鸿蒙系统,能否替代安卓IOS?从长远来看,华为主推鸿蒙系统是必然的选择。毕竟安卓系统为谷歌的,而由于美国限制,让华为格外被动。命运掌握在自己手里,才有足够的话…

ubuntu安装python3.8_将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程

1. 概述 本文记录在 Ubuntu 16.04 上将 python 升级为 3.8 版本,并配置为系统默认 python3 的过程。 在 Ubuntu 16.04 中,python3 的默认版本为 3.5: $ python3 -V Python 3.5.2 本文以在 Ubuntu 16.04 中安装为例,方法同样适用于…

java怎么表示正无穷大_java中怎样表示一个无穷大? 无穷小?

Java中提供了三个特殊的浮点数值:正无穷大、负无穷大、非数,用于表示溢出和出错。正无穷大:用一个正数除以0将得到一个正无穷大,通过Double或Float的POSITIVE_INFINITY表示。负无穷大:用一个负数除以0将得到一个负无穷…

ng bind html 无效,angularjs中ng-bind-html的用法总结

本篇主要讲解angular中的$sanitize这个服务.此服务依赖于ngSanitize模块.(这个模块需要加载angular-sanitize.js插件)要学习这个服务,先要了解另一个指令: ng-bing-html.顾名思义,ng-bind-html和ng-bind的区别就是,ng-bind把值作为字符串,和元素的内容进行绑定,但是ng-bind-htm…

热门搜索怎么实现_三个步骤教你学会,搜索引擎霸屏技术!

做好SEO就要了解搜索引擎霸屏技术,它是在百度中搜索关键字来检索信息。整个画面的推荐都是你的内容。那么客户点击你的可能性就会增加!那么搜索引擎霸屏技术这么好,那要如何做到呢?1.要想成为霸屏,第一步要选择好的关键…

ethtool用法 linux_Linux命令之Ethtool用法详解

Linux/Unix命令之Ethtool描述:Ethtool是用于查询及设置网卡参数的命令。概要:ethtool ethX //查询ethX网口基本设置ethtool –h //显示ethtool的命令帮助(help)ethtool –i ethX //查询ethX网口的相关信息ethtool –d ethX //查询ethX…

html字体如何设置垂直居中显示,css文字水平垂直居中怎么设置?

css文字水平垂直居中怎么设置?下面本篇文章就来给大家介绍使用CSS设置文字水平居中和垂直居中的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1、文字水平居中在CSS中想要让文字水平居中,可以使用text-a…

python for循环例子_Python for循环生成列表的实例

Python for循环生成列表的实例 一般Python for语句前不加语句,但我在机器学习实战中看到了这两条语句: featList [example[i] for example in dataSet] classList [example[-1] for example in dataSet] 多方研究和询问,得到如下解释&#…

HTML5链接tcpUDP,UDP/TCP协议 网络调试工具源码(C#)

本代码包括了TCP和UDP的客户端和服务端,适合C#初学者学习、参考资源下载此资源下载价格为2D币,请先登录资源文件列表NetWork/NetWork.sln , 990NetWork/NetWork.v12.suo , 27648NetWork/NetWork/App.config , 187NetWork/NetWork/bin/Debug/NetWork.exe …

没有shell63号单元_ansys-SHELL单元

Q:用板壳元shell63单元建模时,如下图示,两个平面互相垂直,如何使这两个平面保持为一个整体来受力.因为实际结构中,比如一个由钢板焊成的箱梁,内有加劲隔板,如何模拟.由于这两个面没有公共边,用了粘贴及搭接都不行,试问怎样简单实现整体性这一目的.A:分网时控制单元长度&#xf…

element 登录_Python selenium自动化测试框架入门实战--登录测试案例

本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁。本文应用到POM模型、selenium、unittest框架、configparser配置文件、smtplib邮件发送、HTMLTestRunner测试报告模块结合登录案例实现简单自动化测试框架项目主要包括以下…

后处理安装_Mastercam2017(自定义后处理选项)安装!

我们用Mastercam2017编程的程序,需要用在不同的机床加工零件时,这时候我们也要选择适合不同机床认识的自动后处理文件来生成程序,当然系统默认是不能实现这一功能的,那么安装了自定义后处理选项插件,就能完全实现自定义…

项目一计算机基础知识考核题,2013计算机基础知识试题及答案

2013年10月《计算机基础》阶段测试自评成绩:一、单项选择题 (每小题2分)1.世界上第一台电子数字计算机取名为( )。A.UNIVACB.EDSACC.ENIACD.EDVAC2.个人计算机简称为PC 机,这种计算机属于( )。 A.微型计算机 B.小型计算机 C.超级计算机 D.巨型计算机3.目…

为什么redis取出来是null_[2020] Redis 最新面试题

Redis 的数据类型(数据结构)string (二进制安全,可以存储任意类型的数据)list(链表)字典(就是hashmap)set(不重复无序的hashmap)zset(…

的优先级大小_如何评估需求的优先级?

一、 需求的优先级怎么定义? 很多产品经理,包括我,一定都会遇到这样的场景:“ 需求堆如山,什么都想做 ”。面对各种各样、来自各个渠道的需求,产品经理的工作职责之一,就是梳理需求的优先级。我…

html5 drawimage 不显示,canvas的drawImage无法显示图像

window.οnlοadfunction(){var Canvasdocument.getElementById("canvas");var cxtCanvas.getContext("2d");var bgnew Image();//你指定了图片的地址,但是图片的加载是需要时间的bg.src"../img/2-14020314314A26.jpg";//执行完上面一…

html自动给图片加上水印 代码_如何给一千张图片去水印?还好我会python,100行代码轻松搞定...

写在前面近期好多网友私信我,问我编程该怎么学习、怎么入门。我觉得编程学习,就像写文章一样,需要积累。如果把代码每个字符拆开,大伙都认识,但是组合在一起,就是另外一回事了。所以我的建议是,…

html中两个图片叠放,CSS实现图片叠放(勾选图标)

场景我们经常会遇到这种场景,有一个待选图片列表,在图片上(可能是右上角也有可能时右下角)叠放一个勾选状态图标,这篇文章就记录实现这个功能的过程。原理利用flex布局space-around显示图片列表在图片的外层加一个div,同时把勾选状…

pyspark sparksession_PySpark 处理数据和数据建模

安装相关包from pyspark.sql import SparkSession from pyspark.sql.functions import udf, when, count, countDistinct from pyspark.sql.types import IntegerType,StringType from pyspark.ml.feature import OneHotEncoderEstimator, StringIndexer, VectorAssembler from…