切换路由时,参照calm-alive组件系统设置如何确定保存到当前页面,
简单vue是一个前端框架(与angular和react同级别),vuex仅仅vue的一个插件,官网说vuex是状态管理工具,其实说白了,vuex那是个存放多个组件同一台的一个数据的存放、更改、全面处理的一个容器,就是说来存放去处理大学英语数据的工具,贮存的数据一变,各个组件都会更新,也就是说能保存的数据是自适应响应的
解决思路
1、声望兑换dom
2、将dom可以转换为canvas
3、资源canvas的宽度、高度(一点稍微大点,预览)
4、将pdf的宽高设置为canvas的宽高(不区分a4纸大小)
5、将canvas转为图片
5、静态方法jspdf,将内容图片放在pdf中(是因为内容宽高和pdf宽高一样的,就只不需要一页,也能够防止内容截断问题)
代码
document.queryselector(.downloadbutton).onclickfunction(e){
varcontentdocument.queryselector(.content)
download(content)
}
functiondownload(content){
html2canvas(content,{
allowtaint:true,
scale:2//进阶画面质量,只不过会减少文件大小
}).then(function(canvas){
/**jspdf将html转为pdf一页会显示不封锁住,整体思路:
*1.查看dom
*2.将dom转换为canvas
*3.某些canvas的宽度、高度(稍微地大一点)
*4.将pdf的宽高设置为canvas的宽高
*5.将canvas转为图片
*6.构造函数jspdf,将内容图片装在pdf中(因为内容宽高和pdf宽高一样的,就只是需要一页,也避兔内容截断问题)
*/
//能够得到canvas画布的单位是px像素单位
varcontentwidthcanvas.width
varcontentheightcanvas.height
console.log(contentwidth,contentwidth)
console.log(contentheight,contentheight)
//将canvas转为base64图片
varpagedata(image/jpeg,1.0)
//设置里pdf的尺寸,pdf要建议使用pt单位三角形的三边1pt/1px0.75pt(px/scale)*0.75
//2为上面的scale图像大小了2倍
varpdfx(contentwidth10)/2*0.75
varpdfy(contentheight500)/2*0.75//500为底部留白
//设置中内容图片的尺寸,obj是pt单位
varimgxpdfx
varimgy(contentheight/2*0.75)//内容图片这里不是需要留白的距离
//系统初始化jspdf另一个参数方向:设置为时为横向,第二个参数设置pdf内容图片不使用的长度单位为pt,第三个参数为pdf的大小,单位是pt
varpdffifthjspdf(,pt,[pdfx,pdfy])
//将内容图片添加到pdf中,是因为内容宽高和pdf宽高完全不一样,就只要一页,位置那就是0,0
(pagedata,jpeg,0,0,imgx,imgy)
(download.pdf)
})