2017-09-14 10 views
0

node.jsリクエストを使用してURLからJPEGを取得しています。 私は、base64でエンコードされたバッファに画像を変換し、PDF文書に書き込む:URLからPDFkitに画像を書き込む方法は?

request({ url: url, encoding: null }, function (error, response, body) { 
         if (!error && response.statusCode == 200) { 
          var img = new Buffer(body, 'base64'); 
          pdf.image(img, 0, 0); 
          callback(error, body); 
         } 
        }); 

を私は次のエラーメッセージを取得しています:

events.js:160 
     throw er; // Unhandled 'error' event 
    ^

Error: stream.push() after EOF 
    at readableAddChunk (_stream_readable.js:156:17) 
    at PDFDocument.Readable.push (_stream_readable.js:134:10) 
    at PDFDocument._write (/Users/assafshamia/Freebird/node/utils/report_generator/node_modules/pdfkit/js/document.js:156:12) 
    at PDFReference.finalize (/Users/assafshamia/Freebird/node/utils/report_generator/node_modules/pdfkit/js/reference.js:81:21) 
    at PDFReference.finalize (/Users/assafshamia/Freebird/node/utils/report_generator/node_modules/pdfkit/js/reference.js:10:59) 
    at PDFReference.end (/Users/assafshamia/Freebird/node/utils/report_generator/node_modules/pdfkit/js/reference.js:74:21) 
    at JPEG.embed (/Users/assafshamia/Freebird/node/utils/report_generator/node_modules/pdfkit/js/image/jpeg.js:68:16) 
    at PDFDocument.image (/Users/assafshamia/Freebird/node/utils/report_generator/node_modules/pdfkit/js/mixins/images.js:34:15) 
    at addImage (/Users/assafshamia/Freebird/node/utils/report_generator/dist/all.js:19:6) 
+0

それは(そのpdf.endのだろうが)途中で呼ばなっていますか? –

答えて

1

あなたのコードは私のために正常に見えます。
しかし、ここでは100%の作業スニペットは次のとおりです。

request({ url, encoding: null }, (error, response, body) => { 

    if (!error && response.statusCode === 200) { 
     pdf.pipe(fs.createWriteStream('out.pdf')); 

     var img = new Buffer(body, 'base64'); 
     pdf.image(img, 0, 0); 

     pdf.end(); 
    } 
}); 
関連する問題