dom元素生成word文档(vue2、vue3)

导出的文档中包含图片情况下,word文档图片会加载慢一些,可以等一下

引入node包

npm install html-docx-js
npm install file-saver

vue3时需要将html-docx-js 改为 html-docx-fixed 进行引入

html-docx-js中有一个对象函数已经弃用,所以导致无法使用

 代码

//script标签中引入
import FileSaver from "file-saver";
import htmlDocx from "html-docx-js/dist/html-docx";




//导出dom元素方法

    demo2() {
      // 两个class,一个是代表宽度300,一个是代表宽度600

      let contentHtml = document.getElementById("domId").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>`;
//图标宽高可能不生效,所以需要使用下面方法,给图片设置宽高
            content = content.replaceAll('<img',`<img width="600" height="200" `);
      let converted = htmlDocx.asBlob(content);
      FileSaver.saveAs(converted, "测试.docx");
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值