我需要将HTML视图导出为PDF。
我已经查看了我的视图,并且我想创建另一个链接以从此视图生成PDF版本。
我尝试使用http.get
下载HTML文件,但它无效。
这是代码:
var http = require('http');
var fs = require('fs');
var file = fs.createWriteStream("files/" + filename);
var fullUrl = req.protocol + '://' + req.get('host') + 'PATH/TO/MY/VIEW?id=' + id;
var request = http.get(fullUrl, function(response){
response.pipe(file);
});
书面文件只输出:
Found. Redirecting to /<default_pattern>
答案 0 :(得分:2)
您可以使用html to pdf转换器,而不是下载,而不是wkhtmltopdf。将视图转换为pdf很简单:
res.render('ticket/pdf', {
'title': 'Ticket #1',
}, function(err, html) {
if (err) {
return res.negotiate(err);
}
res.setHeader('Content-disposition', 'attachment; filename=myFile.pdf';
return require('wkhtmltopdf')(html).pipe(res);
});
必须在您的系统上安装转换器,请参阅http://wkhtmltopdf.org/
如果您仍想下载视图,请执行以下操作:
wkhtmltopdf('http://google.com/', { pageSize: 'letter' })
.pipe(fs.createWriteStream('out.pdf'));