[英]SailsJs - Export html view to PDF
I need to export a HTML view to a PDF. 我需要将HTML视图导出为PDF。 I already have my view working and I want to create another link to generate a PDF version from this view.
我已经可以使用我的视图,并且我想创建另一个链接以从该视图生成PDF版本。 I'm trying to use
http.get
to download the HTML file but it's not working. 我正在尝试使用
http.get
下载HTML文件,但无法正常工作。 Here's the code: 这是代码:
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);
});
The written file just outputs: 书面文件仅输出:
Found. Redirecting to /<default_pattern>
Instead of downloading you could use a html to pdf converter like wkhtmltopdf . 除了下载外,您可以使用wkhtmltopdf之类的html到pdf转换器。 Converting a view to pdf is simple as:
将视图转换为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);
});
The converter has to be installed on your system, refer to http://wkhtmltopdf.org/ 该转换器必须安装在您的系统上,请参阅http://wkhtmltopdf.org/
If you still like to download a view, do the following: 如果您仍然想下载视图,请执行以下操作:
wkhtmltopdf('http://google.com/', { pageSize: 'letter' })
.pipe(fs.createWriteStream('out.pdf'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.