小程序腾讯云云开发实现生成word模板
场景:合同模板、协议模板自动填充内容,并生成word使用到的库docx-templates 将docx模板填充内容dayjs 保存文件时生成时间目录string-random 随机文件名原理:读取模板docx,通过docx-templates填充内容,上传到云开发,最后返回云存储文件id给用户const {createReport} = require('docx-templates')const
·
场景:合同模板、协议模板自动填充内容,并生成word
使用到的库
- docx-templates 将docx模板填充内容
- dayjs 保存文件时生成时间目录
- string-random 随机文件名
原理:读取模板docx,通过docx-templates填充内容,上传到云开发,最后返回云存储文件id给用户
const {
createReport
} = require('docx-templates')
const fs = require('fs');
const path = require('path')
const template = fs.readFileSync(path.join(__dirname, 'verify_company.docx'))//读取文件
const buffer = await createReport({
template,
data: {
//变量
no: '123',
creator: 'Appleseed',
},
cmdDelimiter: ['{', '}']//以{}作为变量分隔符
})
const dayjs = require('../../extend/dayjs');
const preDir = dayjs().format("YY/MM/DD");//日期
const stringRandom = require('string-random')
const randfilename = stringRandom(32)//随机文件名
const cloudPath = `verify/docx/${preDir}/${randfilename}.docx`//文件
return await cloud.uploadFile({
cloudPath,
fileContent: Buffer.from(buffer, 'hex')
})
word模板
最后生成的文件
更多推荐
已为社区贡献1条内容
所有评论(0)