vue使用docxtemplater导出word

vue使用docxtemplater导出word

// Func:导出word文档,包括图片和文字
// 使用:
// 		安装JSZipUtils,Docxtemplater,PizZip,file-saver,docxtemplater-image-module-free
// 		引用该组件,import DocRender from "DocRender.vue"
// 		注册 components:{ DocRender }
// 		在Template中使用 <DocRender ref="DocRender"/>\
// 		在scripts中调用exports函数生成word文档
// 		示例,参数依次为,图片最大高度,模板文件路径(示例放在public文件夹下),图片,文字,输出文件名
// 			this.$refs.export(
// 				100,
// 				100,
// 				`./i.docx`,
// 				{
   
// 					image:
// 						"https://t8.baidu.com/it/u=3571592872,3353494284&fm=79&app=86&size=h300&n=0&g=4n&f=jpeg?sec=1604021710&t=9c909dc8afcad27ac6a080e699025d7b"
// 				},
// 				{},
// 				"检查"
// 			);
// 		},


<template>
</template>

<script>
import JSZipUtils from "jszip-utils/dist/jszip-utils.js";
import Docxtemplater from "docxtemplater";
import PizZip from "pizzip";
import {
    saveAs } from "file-saver";
import ImageModule from "docxtemplater-image-module-free";

function loadFile(url, callback) {
   
	JSZipUtils.getBinaryContent(url, callback);
}

export default {
   
	name: "DocRender",
	data() {
   
		return {
   
			imageSize: {
   },
			imageMaxHeight: 0,
			imageMaxWidth: 0,
			templateLocaton: "",
			content: {
   },
			outputname: "output.docx"
		};
	},

	methods: {
   
		export(
			imageMaxHeight,
			imageMaxWidth,
			templateLocaton,
			imageArray,
			wordArray,
			outputname
		) {
   
			this.content = Object.assign(imageArray, wordArray);
			this.imageMaxHeight = imageMaxHeight;
			this.imageMaxWidth = imageMaxWidth;
			this
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值