#例:
res.render('test/test.ejs',{task:task},function(err,html){
console.log(html);
// 此处将html转存为文件进行存储(并进行后续的静态文件的索引工作)或直接生成二进制文件发送回浏览器
});
##[2015-1-5 10:31:51] 将页面另存为doc、xsl或者其他文件方式
这种方式只适合要求不高的导出,其本质还是html文件,只不过是另存为了excel或word格式。
res.render('test/test.ejs',{task:task},function(err,html){
if(err){
res.send(500,{error:err});
}else{
res.set('Content-Type', 'text/html');
res.set('Content-Disposition', 'attachment; filename="test.xls"');
res.send(html);
}
});
##[2015-8-10 09:53:35] 将页面导出为pdf
使用html-pdf 模块,直接生成pdf文件导出。
var pdf = require('html-pdf');
var options = {
format: 'Letter'
};
res.render('test/test.ejs',{task:task},function(err,html){
if(err){
res.send(500,{error:err});
}else{
pdf.create(html).toBuffer(function(err, stream) {
res.writeHead(200, {
'Content-Type': 'application/pdf',
'Content-Disposition': 'attachment;filename=' + encodeURIComponent("任务单" + task.TASK_NO + '.pdf')
});
res.end(stream);
});
}
使用html-pdf也可直接生成图片格式,只需将options的"type"设置为png或者jpeg即可。