之前在網(wǎng)上找到一個用 <a> 的 download屬性下載的方法,確實(shí)很簡單也很方便,但此方法不支持IE,無奈又找到另一方法。
使用html2canvas將頁面轉(zhuǎn)成圖,用canvas2image下載
本例使用的版本:
安裝
npm install html2canvas canvas2image --save
引入
import html2canvas from 'html2canvas'; require('./canvas2image.js');
canvas2image.js 需要改動一下,以便綁在window上
(function($){ Canvas2Image = function () { ... } }
_dataURL 可以用來回顯,Canvas2Image.saveAsPNG(canvas) 會直接下載。
Canvas2Image提供了下面幾種方法:
Canvas2Image.saveAsImage(canvasObj, width, height, type) Canvas2Image.saveAsPNG(canvasObj, width, height) Canvas2Image.saveAsJPEG(canvasObj, width, height) Canvas2Image.saveAsGIF(canvasObj, width, height) Canvas2Image.saveAsBMP(canvasObj, width, height) Canvas2Image.convertToImage(canvasObj, width, height, type) Canvas2Image.convertToPNG(canvasObj, width, height) Canvas2Image.convertToJPEG(canvasObj, width, height) Canvas2Image.convertToGIF(canvasObj, width, height) Canvas2Image.convertToBMP(canvasObj, width, height)
在vue中可以用$refs 確定DOM;
backgroundColor: null,此句可使轉(zhuǎn)出的圖沒有白邊
methods: { toImage() { let _this = this; html2canvas(this.$refs.index,{ backgroundColor: null }).then((canvas) => { let _dataURL = canvas.toDataURL("image/png"); // _this.dataURL = _dataURL; Canvas2Image.saveAsPNG(canvas) }); },
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
標(biāo)簽:松原 阿克蘇 常德 廣西 果洛 蚌埠 廣東 鄂爾多斯
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用html2canvas將頁面轉(zhuǎn)成圖并使用用canvas2image下載》,本文關(guān)鍵詞 使用,html2canvas,將,頁面,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。