// 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
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- howto234.com 版权所有 湘ICP备2022005869号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务