我有以下代碼在Node中產生我的子進程。它效果很好。如果我只是返回文本,它會直接下載。這是當我嘗試返回PDF時,一切都出錯了。由於nodejs spawn child process ruby prawn pdf
代碼的NodeJS
exports.generateReportCard = function(req,res){
var jsonData = '{ property: abc }';
var spawn = require('child_process').spawn;
var child = spawn('ruby', ['utilities/schedule.rb', jsonData]);
var pdf = '';
var chunks = [];
child.stdout.on('data', function(data) {
// insert error check here...
chunks.push(data);
});
child.on('close', function() {
var pdf = Buffer.concat(chunks);
res.setHeader('Content-Type', 'application/text');
res.send(pdf);
});
};
被稱爲紅寶石文件是非常非常簡單。但我似乎無法得到pdf二進制文件。
require 'rubygems'
require 'prawn'
pdf = Prawn::Document.new
pdf.text "Hello World"
puts pdf.render_file "assignment.pdf"