JSPDF 原理

Posted eret9616

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSPDF 原理相关的知识,希望对你有一定的参考价值。

Jspdf是一个将html内容生成pdf文件的库,原理是对输入浏览器的文字或二进制图片进行base64编码转换,以pdf中应有的形式组织,最终以data uri scheme,

data:application/pdf;base64;[content] 的格式输出

 

里面的save方法是如何做到浏览器端保存文件的呢?

 

看下这个:

<a href="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAHsAAAAyCAIAAADz8jOMAAAAmklEQVR42u3QQQoAIQgAQP//aRc2NsQ8xJ7HQ2hkykS8kZnrXMm+3GV+Ue9r0lqyxFmOE9vLlo9za+P9kq1rzMe590uOH8Y5njhx4sSJEydOnDhx4sSJEydOnDhx4sSJEydOnDhx4sSJEydOnDhx4sSJEydOnDhx4sSJEydOnDhx4sSJEydOnDhx4sSJEydOnDhx4sSJE/8t/gBbNfIWdjsEtgAAAABJRU5ErkJggg==" download="文件名">A标签</a>
 
通过给href属性添加data uri scheme,给download属性添加文件名称,点击时就能下载。
 

以上是关于JSPDF 原理的主要内容,如果未能解决你的问题,请参考以下文章

JSPDF:如何在 jsPDF 中编码 blob?

带有 jsPDF 模块的 Angular 9:类型“typeof jsPDF”没有构造签名

jsPDF可以分页吗?

jsPDF ReferenceError:未定义窗口

jsPDF生成pdf文件和中文编码

基于 jspdf.js 库生成 PDF 文件时中文乱码问题的解决