2016-08-06 26 views
0

Ich muss die PDF-Datei lesen und ich verwende pdf-text-extract. Es funktioniert perfekt auf meinem localhost. Aber als ich versuchte, das Programm auf dem Server zu laufen, bekam ich folgende FehlermeldungNode.js ENOENT PDF-Datei lesen

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) 

Hier ist, wie ich 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); 
}); 

Wie Sie sehen können, habe ich fangen hinzugefügt, aber warum der Fehler ist Unhandled 'Fehler' Ereignis.

Ich habe auch überprüft, dass die Datei existiert mit fs.readdirSync. Was verursacht den Fehler und wie kann ich ihn beheben?

Antwort

2

Ihr Server verfügt nicht über den Befehl pdftotext, den das Modul pdf-text-extract versucht, als untergeordneten Prozess zu spawnen. Die Readme für das Modul enthält a link, um das Programm für verschiedene Plattformen zu installieren.