这是使用庞然大物将转换后的JSON写入文档的代码。
let docx = officegen('docx');
finalResult.forEach(function(qa) {
result.push({
type: "text",
val: qa.question + "\n",
opt: {
color: "111111",
font_size: 14
}
});
docx.createByJson(result);
let file_name = "Document_" + originalFilename.split(".")[0] + ".docx";
var out = fs.createWriteStream(path.join(__dirname, '../DocFiles', file_name));
out.on('error', function(err) {
console.log(err);
});
var async = require('async');
async.parallel([
function(done) {
out.on('close', function() {
finalResult = [];
res.set({
"Content-Type": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
'Content-disposition': 'attachment; filename=' + file_name
});
res.sendFile(
path.join(__dirname, '../DocFiles/' + file_name)
);
done(null);
});
docx.generate(out);
}
], function(err) {
if (err) {
console.log('error: ' + err);
}
});
转换后,文档以WPS打开,但以ms字打开会引发错误。
在WPS中进行编辑和保存后,同一文档将以ms字打开。