IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue、echarts、html-docx-js-typescript、file-saver、dom-to-image将页面下载成word、图片并下载(纯前端) -> 正文阅读

[JavaScript知识库]vue、echarts、html-docx-js-typescript、file-saver、dom-to-image将页面下载成word、图片并下载(纯前端)

需求中描述是要将一个页面下载成word文档,研究了个demo测试一下。
1、下载依赖

npm install html-docx-js-typescript --save-dev
npm install  file-saver  --save-dev
npm install  dom-to-image  --save-dev

2、在调用的页面导入

import domtoimage from 'dom-to-image'
import { asBlob } from 'html-docx-js-typescript'
import { saveAs } from 'file-saver'

3、界面中调用js

exportWord (dom) {
      const node = document.getElementById(dom) // 通过id获取dom  任意节点都可以
      domtoimage
        .toPng(node)
        .then((dataUrl) => {
        //这里的htmlString可以自定义一些word模板来将页面的dom转化从而达到将界面上的高度还原到word中 echarts保存成图片放进来即可dataUrl    
          const htmlString = `
                  <!DOCTYPE html>  
                  <html lang="en">  
                    <head> 
                      <meta charset="UTF-8"> 
                      <title>Document</title>  
                    </head>        
                    <body>     
                        <div>Word标题</div>  
                        <div>  
                              <img width="850" height="500" src="${dataUrl}"/>  
                        </div> 
                    </body>                
                  </html>`
          const opt = {
            orientation: 'landscape'
          }
          asBlob(htmlString, opt).then(data => {
            saveAs(data, 'file.docx') // save as docx file
          })
        })
        .catch(function (error) {
          console.error('oops, something went wrong!', error)
        })
    },

保存成图片下载到本地

// 截图并下载
    shotPic (domId, name) {
      const node = document.getElementById(domId) // 通过id获取dom
      domtoimage
        .toPng(node)
        .then((dataUrl) => {
          // 输出图片的Base64,dataUrl
          // 下载到PC
          const a = document.createElement('a') // 生成一个a元素
          const event = new MouseEvent('click') // 创建一个单击事件
          a.download = `${name}` // 设置图片名称没有设置则为默认
          a.href = dataUrl // 将生成的URL设置为a.href属性
          a.dispatchEvent(event) // 触发a的单击事件
        })
        .catch(function (error) {
          console.error('oops, something went wrong!', error)
        })
    },
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:40:51  更:2022-05-13 11:41:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:33:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码