如何在节点/快速应用程序中使用虾PDF

node.js应用程序中,我想生成pdf文档并将其发回给用户。 我想用我以前用过的Prawn PDF,并且很舒服地使用它。

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

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

现在我怎样才能得到返回的PDF文档?

谢谢,马诺

  • child_process.spawn标准输出块
  • 使用节点js带引号产生将导致引号逃脱
  • 节点child_process自己执行
  • NodeJS - 如何将MySQL连接从主进程传递给subprocess?
  • Node.js - 发送一个大对象到child_process很慢
  • uglify在运行child_process.execFile后崩溃
  • 节点Kue和subprocess - 从产生的进程中获取错误
  • 输出在nodejs中的subprocess中断
  • 最终我终于得到了这个结果:

     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虾脚本生成pdf,最后只是将提供给孩子的呈现的pdf“放”成“数据”。