2016-12-22 2 views
0

pdf 파일에서 메타 데이터를 가져 오는 자바 스크립트 "meta.js"를 작성했습니다. 다음은 Exiftool을 사용하여 pdf에서 메타 데이터를 가져 오는 Node.js 오류

내 프로그램입니다
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); 
    }); 
    } 
}); 

나는 "노드 meta.js는"오류 아래 점점 할

,

C : 사용자 \ \ 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을 실행하는 것입니다.

그리고 조언을 해주세요. 비동기 접근 방식이 필요하지 않은 한, 메소드의 동기화 변형을 주저하지 마십시오. 왜 물건들을 정리하게 만드는지. 참조 : fs.readFileSyncfs.statSync.

+0

전체 데이터를 얻고 있습니다 .... 전체 pdf 파일은 콘솔에 인쇄되었습니다. 0.12.7 노드 버전을 사용하고 있습니다. –

+0

경로가 바로 여기에 있습니다. 다른 점은 ... –

+0

글쎄, 나는 github repo의 문제를 해결할 것을 제안 할 수 있습니다. 시동기보기는 너의 것과 똑같이 보인다. – Lazyexpert