2016-12-22 14 views
0

pdfファイルからメタデータを取得するためにjavascript "meta.js"を作成しました。以下はNode.jsエラー:exiftoolを使用してPDFからメタデータを取得する

私はエラーの下になって、 "ノードmeta.js"、

C行うと私のプログラムは、

var exif = require('exiftool'); 
var fs = require('fs'); 

fs.readFile('Sample.pdf', function (err, data) { 
    if (err) 
    throw err; 
    else { 
    exif.metadata(data, function (err, metadata) { 
     if (err) 
     throw err; 
     else 
     console.log(metadata); 
    }); 
    } 
}); 

です:\ Users \ユーザーabhishek.suthar \ダウンロード\ノード・アプリケーション>ノードのメタを。 js

events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: write EPIPE 
    at exports._errnoException (util.js:746:11) 
    at Socket._writeGeneric (net.js:690:26) 
    at Socket._write (net.js:709:8) 
    at doWrite (_stream_writable.js:301:12) 
    at writeOrBuffer (_stream_writable.js:288:5) 
    at Socket.Writable.write (_stream_writable.js:217:11) 
    at Socket.write (net.js:634:40) 
    at Object.exports.metadata (C:\Users\abhishek.suthar\Downloads\node application\node_modules\exiftool\lib\exiftool.js:73:14) 
    at C:\Users\abhishek.suthar\Downloads\node application\meta.js:8:10 
    at fs.js:334:14 

エラーログのパスに表示されているように、必要なモジュールをインストールしました。

答えて

-1

間違ったパスのため、データを取得できません。 試してみてください。

var exif = require('exiftool'); 
var fs = require('fs'); 

fs.readFile('Sample.pdf', function (err, data) { 
    console.log("Received data: " + data) 

    if (err) 
    throw err; 
    else { 
    exif.metadata(data, function (err, metadata) { 
     if (err) 
     throw err; 
     else 
     console.log(metadata); 
    }); 
    } 
}); 

私は正しいパスを取得する方法:

const path = require('path') 

path.join(__dirname, "./someFile.pdf") 

別のアプローチパスを確認するには、fs.statを実行することです。

私は、1つのアドバイスを与えることができます: 非同期アプローチが必要でない限り、メソッドの同期バリアントを使用して躊躇しないでください。なぜ物事をまとめるのか参照:fs.readFileSyncおよびfs.statSync

+0

私は完全なデータを取得しています....コンソールに印刷された完全なpdfファイルです。私は0.12.7ノードバージョンを使用しています。 –

+0

パスはここにあるのですが、それ以外のものは間違っています... –

+0

さて、私はgithubリポジトリの問題を調べることをお勧めします。スターターの例はあなたのものとまったく同じです。 – Lazyexpert

関連する問題