title | date | tags | author | |||||
---|---|---|---|---|---|---|---|---|
生成静态html和html导出保存 |
2021-10-20 |
|
denglw |
当浏览器的ctrl+s保存单页应用显示效果不佳时使用此方法。
import html2canvas from 'html2canvas'
import FileSaver from "FileSaver"
import htmlOuter from "htmlOuter";
html2canvas—— 页面中可视化及非文字模块生成图片的插件。
FileSaver—— 文件下载插件。
htmlOuter—— 生成html的工具。
htmlOuter可以按指令和插入的数据生成新的静态页面,保证下载之后的显示效果。
//生成将某节点转换为图片并生成html下载的演示
html2canvas(document.querySelector("#bvd")).then(canvas => {
canvas.id = "canvas";
let dataURL = canvas.toDataURL("image/png");
let tmpUrl = "data:application/octet-stream;base64" + dataURL;
let outer = new htmlOuter();
outer.appendImage(tmpUrl,'2323')
let html = outer.outHtml('测试')
let blob = new Blob([html])
FileSaver.saveAs(blob,'tt.html')
});
html2canvas(domSelector,{
height: 5000, //自定义高度
windowHeight: 5000
})
** 不加高度属性截图显示不全
let outer = new htmlOuter();
数据格式为 {key:value,key2:value2}
参数 | 参数描述 | 类型 |
---|---|---|
dataList | 列表数据 | Object |
itemTitle | 单元标题 | String |
数据格式同iview的columns和data
参数 | 参数描述 | 类型 |
---|---|---|
columns | 表头数据 | Array |
dataList | 表格数据 | Array |
itemTitle | 单元标题 | String |
参数 | 参数描述 | 类型 |
---|---|---|
imgUrl | 图片路径 | String dataUrl |
itemTitle | 单元标题 | String |
参数 | 参数描述 | 类型 |
---|---|---|
html | 自定义html | String |
itemTitle | 单元标题 | String |
参数 | 参数描述 | 类型 |
---|---|---|
title | html标题 | String |
"html2canvas": "^1.3.2"
$npm install html2canvas --save