前言:
而今咱们对“前端pdf生成”大体比较关心,咱们都需要了解一些“前端pdf生成”的相关内容。那么小编同时在网摘上搜集了一些对于“前端pdf生成””的相关内容,希望姐妹们能喜欢,兄弟们快快来了解一下吧!我是小渔歌,点击右上方“关注”,每天为你分享【前端技术知识】干货。
可能有不少小伙伴,在业务中遇到需要前端生成pdf的功能。
今天就为大家介绍几款,前端生成pdf的开源库。
这里只说一下这几款方案的基本功能,需要的可以自行查看官方文档,不懂的可以私信我。
方案一jsPDF
new jsPDF(orientation, unit, format)
功能
支持文本支持图片支持html支持设置字体,文字大小等等方案二pdfkit
var doc = new PDFDocument();var stream = doc.pipe(blobStream());
这个开源库既支持浏览器端也支持node服务端。
功能
支持文本支持图片支持html支持设置字体,文字大小等等
这个开源库还提供了丰富的绘制各种形状,以及线条的api,最主要的是他还支持svg path[中国赞]。
方案三pdfmake
pdfMake.createPdf(docDefinition).download();
这个开源库既支持浏览器端也支持node服务端。
pdfmake实际上是对pdfkit的封装,pdfkit有的功能pdfmake都有,只是用起来更简洁了。
更重要的是pdfmake支持分栏[中国赞]。
方案四pupetter
const puppeteer = require('puppeteer');(async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(';); await page.pdf({path: 'example.pdf'}); await browser.close();})();
他是利用在node服务端运行一个无头chrome浏览器来实现的。
这个方法就比较简单暴力了,直接打开一个网页,将这个网页的内容生成pdf。
注意:这个网页内容尺寸得控制好。
而且这个有点坑的地方就是,这个东西在本地跑,字体是一点毛病没有的,但是部署到云端就有问题了,所有字体都失效了,这个时候需要你在docker容器中装各种字体,此处脑袋有点大,感兴趣的可自行研究。
总结
jsPDF只支持浏览器端,pdfkit与pdfmake既支持浏览器端也支持node服务端,pupeteer支持服务端,各位可以根据自己的业务需求自行选择。
大家还知道其他生成PDF的方案嘛?可以在评论区留言哦,共同学习。
往期精彩内容
CSS实现拖拽功能,你是认真的吗?
FormData对象,知道吗?它可以让你在表单数据处理上事半功倍?
flex不香吗,你还在傻傻地用float吗
作者介绍
小渔歌,90后前端研发工程师,热爱生活,一个在劳动中不断学习的人,愿我们共同进步,点关注不迷路[中国赞][作揖]。
标签: #前端pdf生成 #docker中装docker