2016-08-06 174 views
0

我需要閱讀pdf文件,我使用pdf-text-extract。它在我的本地主機上完美工作。但是,當我試圖在服務器上運行的程序,我有以下錯誤Node.js ENOENT閱讀PDF文件

spawn called 
{ '0': 'pdftotext', 
    '1': 
    [ '-layout', 
    '-enc', 
    'UTF-8', 
    '/tmp/the_file_name.pdf', 
    '-' ], 
    '2': { encoding: 'UTF-8', layout: 'layout', splitPages: true } } 

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

Error: spawn ENOENT 
    at errnoException (child_process.js:1011:11) 
    at Process.ChildProcess._handle.onexit (child_process.js:802:34) 

這是我如何使用pdf-text-extract

var extract = require('pdf-text-extract'); 

..... 

.then (function() { 
    console.log(fs.readdirSync('/tmp')); 
    var extractAsync = Promise.promisify(extract); 
    return extractAsync(filePath); 
}) 
.catch (function (err) { 
    console.log(err); 
}); 

正如你所看到的,我加入了追趕,但爲什麼錯誤是未處理的'錯誤'事件。

我也檢查過該文件是否存在使用fs.readdirSync。什麼原因導致錯誤,我該如何解決?

回答

2

您的服務器沒有pdftotext命令,pdf-text-extract模塊試圖將其作爲子進程產生。該模塊的自述文件包括a link到如何安裝各種平臺的程序。