| | |
| | | import PizZip from 'pizzip' |
| | | import JSZipUtils from 'jszip-utils' |
| | | import {saveAs} from 'file-saver' |
| | | |
| | | let docx = require("docx-preview"); |
| | | const ImageModule = require("docxtemplater-image-module-free"); |
| | | |
| | |
| | | let doc = new docxtemplater().loadZip(zip); |
| | | // 设置模板变量的值 |
| | | doc.setData(e); |
| | | console.log(doc.setData(e), 'doc.setData(e);') |
| | | |
| | | try { |
| | | //替换所有模板变量 |
| | |
| | | console.log(JSON.stringify({error: e})); |
| | | throw error; |
| | | } |
| | | |
| | | console.log(doc, 'out~doc') |
| | | // 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示) |
| | | let out = doc.getZip().generate({ |
| | | type: "blob", |
| | | mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" |
| | | }); |
| | | console.log(doc.getZip().generate, 'doc.getZip().generate') |
| | | // 将目标文件对象保存为目标类型的文件,并命名 |
| | | saveAs(out, docxname); |
| | | }); |
| | |
| | | type: "blob", |
| | | mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" |
| | | }); |
| | | console.log(out, 'out') |
| | | // window.android.toDownLoadWord(out) |
| | | docx.renderAsync(out, continer); // 渲染到页面预览 |
| | | }); |
| | | }; |
| | |
| | | docx.renderAsync(out, continer); // 渲染到页面预览 |
| | | }); |
| | | }; |
| | | |
| | | function base64DataURLToArrayBuffer(dataURL) { |
| | | const base64Regex = /^data:image\/(png|jpg|svg|svg\+xml);base64,/; |
| | | if (!base64Regex.test(dataURL)) { |