前端html-docx实现html转word,并导出文件,文字+图片

前端html-docx实现html转word,并导出文件
前端web页面 有文字,有图片,保存web的css效果
在这里插入图片描述
在这里插入图片描述
使用工具:html-docx
官方网址:http://docs.asprain.cn/html-docx/readme.html

步骤:
1 npm install html-docx-js
npm install file-saver
import FileSaver from “file-saver”;
import htmlDocx from “html-docx-js/dist/html-docx”;

2 写html,写行内样式,word可显示效果;
设置图片宽度 width=‘XX’(不设置的话,图片显示宽高效果不理想)

3 导出的方法 var converted = htmlDocx.asBlob(content);
saveAs(converted, ‘test.docx’);

<template><div class="container"><breadCrumb></breadCrumb><section><wrapBox class="ar-box"><div id="pcContract"><div class="ar-title" style="text-align: center;font-size: 24px; font-weight: bold; line-height: 60px;"><p>关于{{alarm.monitorPoint.name}}限高架发生碰撞报警的报告</p></div><div class="sr-con"><div class="ar-conbox"><div class="ar-contit" style="font-size: 20px; font-weight: bold; line-height: 60px;">一、告警通知</div><div class="ar-context ml20" style="text-indent: 2em;margin: 10px 0;"> {{alarm.remark}} </div></div><div class="ar-conbox"><div class="ar-contit" style="font-size: 20px; font-weight: bold; line-height: 60px;">二、监测数据</div><div class="mb10" style="font-size: 18px; font-weight: bold; line-height: 60px;margin-bottom: 20px ;">2.1视频监测图片:</div><div class="ar-context"><div class="ar-imgs" style="text-align: center;margin-bottom: 20px;"><img class="ar-imgCss" :src="imgList[0]" width="600" /><p>碰撞前</p></div><div class="ar-imgs" style="text-align: center;margin-bottom: 20px;"><img class="ar-imgCss" :src="imgList[2]" width="600" /><p>碰撞中</p></div><div class="ar-imgs" style="text-align: center;margin-bottom: 20px;"><img class="ar-imgCss" :src="imgList[4]" width="600" /><p>碰撞后</p></div></div></div></div><footer><p class="dateP" style="text-align: right;">{{alarm.addTime | ymd3}}</p></footer></div><el-button type="primary" @click="download()">下载</el-button></wrapBox></section></div>
</template>
<script>import alarmApi from '@/api/alarm/record'import deviceApi from '@/api/device/device'import ChartItem from "../Equipment/chartItem";import FileSaver from "file-saver";import htmlDocx from "html-docx-js/dist/html-docx";export default {name: "",components: {ChartItem,},data() {return {id: '',alarm: { monitorPoint: { name: '' } },imgList: [],};},computed: {   },mounted() {this.init();this.$nextTick(() => {});},methods: {init() {this.id = this.$route.params.id ? this.$route.params.id : '';console.log(',', this.id)alarmApi.getDetail(this.id).then((res) => {if (res.flag) {this.alarm = res.object;this.getImg()} else {}}).catch();},getImg() {let data = {showProof: true,ids: [this.alarm.id]}alarmApi.getData(data).then((res) => {if (res.flag == 0) {let strImg = res.data[0].alarmLogProof[0].imageUrl;let splitImg = strImg ? strImg.split(",") : '';this.imgList = splitImg}})},download() {let contentHtml = document.getElementById('pcContract').innerHTML;let content = `<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div>${contentHtml}</div></body></html>`;let converted = htmlDocx.asBlob(content);FileSaver.saveAs(converted, `关于${this.alarm.monitorPoint.name}限高架发生碰撞报警的报告.docx`);},//over},};
</script>
<style lang="scss" scoped>.container {>section {padding: 20px;.detail {header {margin-bottom: 20px;h2 {font-size: 18px;color: $cyan2;}}section {display: flex;flex-direction: column;color: #859fce;.buttons {padding-left: 20px;.el-button {width: 100px;}}}}}}.ar-box {color: #fff;}.ar-conbox {margin-bottom: 20px;}.ar-title {text-align: center;font-size: 20px;}.ar-title p {margin-bottom: 10px;}.ar-contit {font-size: 18px;margin-bottom: 10px;}.ar-imgs {text-align: center;margin-bottom: 20px;}.ar-imgCss {width: 60%;}.ml20 {margin-left: 20px;}.mb10 {margin-bottom: 10px;}.dateP {text-align: right;}
</style>
````

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/19758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

铁塔基站用能监控能效解决方案

截至2023年10月&#xff0c;我国5G基站总数达321.5万个&#xff0c;占全国通信基站总数的28.1%。然而&#xff0c;随着5G基站数量的快速增长&#xff0c;基站的能耗问题也逐渐日益凸显&#xff0c;基站的用电给运营商带来了巨大的电费开支压力&#xff0c;降低5G基站的能耗成为…

如何实现Docker容器的自动化升级:不再为手动更新烦恼!

要升级 Docker 容器&#xff0c;你可以按照以下步骤操作&#xff0c;这些步骤涵盖了从拉取最新镜像到重启容器的整个过程。 步骤一&#xff1a;拉取最新的镜像 首先&#xff0c;确保你有最新版本的镜像。例如&#xff0c;如果你要升级一个 Spring Boot 应用的镜像&#xff0c…

客户文章|难能可贵,非模式生物的功能研究与创新

菜豆&#xff08;Phaseolus vulgaris&#xff09;&#xff0c;又名四季豆、芸豆、油豆角&#xff0c;是全球第一大豆类蔬菜&#xff0c;我国是世界上最主要的菜豆生产国和销售国。在田间生产过程中&#xff0c;菜豆常面临着各种生物和非生物逆境的胁迫&#xff0c;对其产量品质…

校园导航系统C++

制作一个简单的大学城导航系统&#xff0c;根据用户指定的起点和终点&#xff0c;求出最短路径长度以及具体路径。 项目要求&#xff1a; 1&#xff09;程序与数据相分离&#xff0c;地图中的所有数据都是从文件读入&#xff0c;而不是写在代码中 2&#xff09;最短路径算法…

智能家居元宇宙三维互动展示在线创作平台

卫浴行业正迎来一场全新的革命——卫浴元宇宙3D展厅搭建编辑器。它基于互联网信息技术、3D线上展示与VR虚拟现实技术&#xff0c;为您打造一个沉浸式的3D虚拟空间&#xff0c;让您的卫浴产品在线上展示中焕发出前所未有的光彩。 在这个卫浴元宇宙中&#xff0c;您可以随心所欲地…

leetcode 115.不同的子序列

思路&#xff1a;LCS类dp 这道题的思考思路其实就是把以两个字符串结尾作为状态方程。 dp[i][j]的意义就是在s字符串在以s[i]结尾的字符串的情况下&#xff0c;所能匹配出t字符串以t[j]结尾的字符串个数。 本质上其实是一个LCS类的状态方程&#xff0c;只不过是意义不一样了…

文件字符流

文件字节流可以处理所有的文件&#xff0c;如果处理的是文本文件&#xff0c;也可以使用文件字符流&#xff0c;它以字符为单位进行操作。 文件字符输入流 public class TestFileReader {public static void main(String[] args){//创建文件字符输入流对象try(FileReader fr …

QT C++ 基于word模板 在书签位置写入文字和图片

如果你有按模版批量自动化操作word文件的需求&#xff0c;那么本文能给你一定的帮助。 它能满足你程序自动化生成报表的需求。常常用于上位机、测试仪器的软件中。 需要你你自己做个word模版文档&#xff0c;添加2个书签。点按钮&#xff0c;会按照你的模板文档生成一个同样的…

【开源】在线考试系统 JAVA+Vue.js+SpringBoot 新手入门项目

目录 一、项目介绍 二、项目截图 三、核心代码 【开源】在线考试系统 JAVAVue.jsSpringBoot 新手入门项目 一、项目介绍 经典老框架SSM打造入门项目《在线考试系统》&#xff0c;包括班级模块、教师学生模块、试卷模块、试题模块、考试模块、考试回顾模块&#xff0c;项目编…

出吉林大学计算机考研资料适用于计专966/计学941/软专967

本人是24上岸吉大计算机专硕的考生&#xff0c;先上成绩&#xff1a; 出专业课备考过程的相关笔记资料&#xff0c;也可以提供经验分享等&#xff1a; 吉林大学计算机数据结构基础算法ADL汇总&#xff0c;适用于计专966/计学941/软专967综合整理小绿书以及期末题上重难点算法…

linux中的“->“符号

问&#xff1a; "->“符号在Linux中是什么意思。 例如&#xff1a;当我在一个特定的文件夹中执行ls -l时&#xff0c;我得到了以下结果。 lrwxrwxrwx 1 root root 11 May 16 13:30 nexus3 -> /nexus-data lrwxrwxrwx 1 root root 29 Feb 27 12:23 ojdbc.jar -&g…

Linus Torvalds把控着linux内核开发审核,他去世之后linux内核会怎样?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「linux的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; Linus Torvalds 是 Linux…

Docker安装Zookeeper(单机)

Docker安装Zookeeper&#xff08;单机&#xff09; 目录 Docker安装Zookeeper&#xff08;单机&#xff09;拉取镜像创建目录添加配置文件启动容器测试 拉取镜像 docker pull zookeeper创建目录 mkdir -p /data/zookeeper/data # 数据挂载目录 mkdir -p /data/zookeeper/conf…

CSS学习笔记目录

CSS学习笔记之基础教程&#xff08;一&#xff09; CSS学习笔记之基础教程&#xff08;二&#xff09; CSS学习笔记之中级教程&#xff08;一&#xff09; CSS学习笔记之中级教程&#xff08;二&#xff09; CSS学习笔记之中级教程&#xff08;三&#xff09; CSS学习笔记之高级…

在 CentOS 7 上安装并配置 Redis 允许远程连接的详细教程

第一部分&#xff1a;安装 Redis Redis 是一款高性能的键值存储系统&#xff0c;广泛应用于缓存、消息队列及数据库场景。下面是如何在 CentOS 7 系统上安装 Redis 的步骤。 步骤1&#xff1a;安装 EPEL 仓库 EPEL (Extra Packages for Enterprise Linux) 提供了许多 CentOS 默…

深入理解Linux路由表

目录 引言路由表基础路由表的组成查看路由表修改路由表添加路由添加一条默认路由删除路由修改路由常见路由配置场景默认路由静态路由多网卡配置结论在Linux系统中,路由表是网络通信的关键组成部分,它决定了数据包如何从源地址传输到目的地址。理解和管理Linux路由表对于网络管…

Docker 环境下 3D Guassian Splatting 的编译和配置

Title: Docker 环境下 3D Guassian Splatting 的编译和配置 文章目录 前言I. 宿主系统上的安装配置1. 安装 nvidia driver2. 安装 docker3. 安装 nvidia-container-toolkit II. Docker 容器安装配置1. 拉取 ubuntu 22.042. 创建容器3. 进入容器4. 容器中安装 cuda SDK5. 容器中…

Unity中Tilemap Layer详解

Unity中Tilemap Layer详解 在Unity中&#xff0c;Tilemap的Layer用于管理和组织Tilemap中的瓷砖&#xff08;Tiles&#xff09;&#xff0c;允许你在同一个场景中创建多个重叠的Tilemap层&#xff0c;以便更灵活地处理不同的图层效果&#xff0c;如背景、前景和碰撞层等。以下…

超简单白话文机器学习 - 模型检验与评估(含算法介绍,公式,源代码实现以及调包实现)

1. 模型检验 1.1 Holdout交叉验证 1.1.1 算法 在这种交叉验证技术中&#xff0c;整个数据集被随机划分为训练集和验证集。根据经验&#xff0c;整个数据集的近 70% 用作训练集&#xff0c;其余 30% 用作验证集。 优点&#xff1a;可以快速进行区分&#xff0c;仅仅通过一次区…

从零开始:CANDelaStudio之CDD S3 Server时间异常

0 前言 关于CDD制作有疑问的小伙伴可以参考以下文章&#xff1a; 从零开始&#xff1a;CANDelaStudio之CDD制作&#xff08;一&#xff09; 从零开始&#xff1a;CANDelaStudio之CDD制作&#xff08;二&#xff09; 本文主要对日常在CDD中碰到的一些问题做一个补充。 1 …