前端生成pdf,jspdf+html2Canvas的使用(vue)

前端生成pdf,jspdf+html2Canvas的使用(vue),第1张

2、安装html2Canvas: npm install --save html2canvas

这里使用 iframe 嵌套需要转成pdf的html文件;

如果pdf内容是动态的,可以将html丢给后端,让后端使用freemarker ftl模板语言或是啥其他的模板语言更改即可,然后将整个html作为字符串传给前端,前端再使用iframe 的 srcdoc属性将内容渲染出来。

不存在分页内容裂开的情况,但对样式呈腊巧歼现不太友好,有时会出现内容偏移情况,时好时坏的,经过不断的尝试,发生偏移的时候,可以将html2Canvas的width写死,但是值具轮冲体是多少,需要你自己猜

分页会出现问宽羡题:比如图片裂开,表格的某一行从中间断开了等等....我用的笨方法手动去调整iframe的宽、高+html2Canvas的width、height+contentWidth、contentHeight,一点点试出来合适的值(应该有更好的方法,但是技术有限)

1. 生成多页pdf,分页内容裂开的问题

在客户端JavaScript生成扮数判PDF文件。

创建您的第一个文档毕隐

看examples/basic.html例子。

1

2

3

var doc = new 厅改jsPDF()

doc.text(20, 20, 'Hello world.')

doc.save('Test.pdf')

1,生成 PDF 这种事情通常由服务器端做

2,判谨渗浏览器做的话要依赖于插件(ActiveX/Plugin,通常购买第三方的)

3,浏览器预览、打印倒是没问题(晌旦要装 PDF viewer,Firefox 自带的 PDF.js 扩展也可以)

4,总结,AngularJS 是浏览器端掘脊的,干不来这事儿,也不应该干这事儿,我想你最好换个方向


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12115419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存