[英]Node.js error getting metadata from pdf using exiftool
I have written one javascript "meta.js" to get metadata from pdf file. 我已经编写了一个JavaScript“ meta.js”来从pdf文件中获取元数据。
Below is my program, 下面是我的程序,
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);
});
}
});
When I do "node meta.js" getting below error, 当我执行“ node meta.js”时,出现以下错误,
C:\\Users\\abhishek.suthar\\Downloads\\node application>node meta.js C:\\ Users \\ abhishek.suthar \\ Downloads \\ node应用程序> node meta.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
I have installed required modules as you can see in my error log paths. 您已经在错误日志路径中看到了,我已经安装了必需的模块。
I bet you dont get data, because of the wrong path. 我敢打赌,由于路径错误,您不会获得数据。 Try: 尝试:
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);
});
}
});
The way I get correct path: 我获得正确路径的方式:
const path = require('path')
path.join(__dirname, "./someFile.pdf")
Another approach to check the path is to execute fs.stat . 检查路径的另一种方法是执行fs.stat 。
And allow me, to give one advice: Do not hesitate using sync variants of the methods, as far as async approach is not necessary. 并请允许我提一个建议:只要不需要异步方法,请不要犹豫使用这些方法的同步变体。 Why make things compilcated. 为什么要编译东西。 See: fs.readFileSync and fs.statSync . 请参阅: fs.readFileSync和fs.statSync 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.