npm安装
jszip
docxtemplater
docxtemplater-image-module-free
我用的版本
"devDependencies": {
"docxtemplater": "^3.29.0",
"docxtemplater-image-module-free": "^1.1.1",
"jszip": "^2.0.0"
}
var fs = require('fs');
var path = require('path');
var jszip = require('jszip');
var docxtemplater = require('docxtemplater');
var docximagetemplater = require('docxtemplater-image-module-free');
let content = fs.readFileSync(path.resolve(__dirname, './data/module/111.docx'), 'binary');
let zip = new jszip(content);
let opts = {
contered:false,
fileType:'docx',
getImage:function(tagValue,tagName) {
return fs.readFileSync(path.join(__dirname,'./img/'+tagValue))
},
getSize:function(img,tagValue,tagName) {
return [400,400]
}
}
let doc = new docxtemplater(zip,{
modules:[new docximagetemplater(opts)]
});
doc.setData({
name: '嘻嘻嘻',
phone: '1312321214',
description: '大萨达哇多哇所多无多多',
img:'1.png'
});
doc.render();
let buf = doc.getZip().generate({ type: 'nodebuffer' });
fs.writeFileSync(path.resolve(__dirname, './data/测试.docx'), buf);