express+动态生成html,node-express - 页面静态化实现

#例:

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即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值