如何在节点/快递应用程序中使用prawn pdf

时间:2012-11-28 14:16:52

标签: node.js pdf prawn child-process

在node.js应用程序中,我想生成pdf文档并将其发送回用户。我想使用Prawn PDF,因为我之前使用它并且很舒服地使用它。

我想我应该使用node的child_process.spawn来调用ruby脚本(返回一个pdf)来实现这个目的,但我不知道如何实际实现它!

这样做:     spawn = require('child_process')。spawn;     pdf = spawn('my_ruby_script');

现在如何获取返回的pdf文档?

谢谢, 真

1 个答案:

答案 0 :(得分:1)

我最终得到了这个:

var spawn = require('child_process').spawn;
var child = spawn('ruby', ['print_pdf.rb', doc_id]);
var pdf = '';
child.on('data', function(data){
    pdf += data;
});
child.on('exit', function(code){
    if(code == 0){
        res.setHeader('Content-Type', 'application/pdf');
        res.send(pdf);
    }
});

ruby​​ prawn脚本生成pdf,最后只是将“渲染”的pdf作为“数据”提供给孩子。