【问题标题】:Node.js error getting metadata from pdf using exiftoolNode.js 使用 exiftool 从 pdf 获取元数据时出错
【发布时间】:2016-12-22 10:58:12
【问题描述】:

我编写了一个 javascript “meta.js” 来从 pdf 文件中获取元数据。

下面是我的程序,

    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);
    });
  }
});

当我执行“node meta.js”时出现以下错误,

C:\Users\abhishek.suthar\Downloads\node application>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

如您在我的错误日志路径中所见,我已经安装了所需的模块。

【问题讨论】:

    标签: node.js pdf metadata


    【解决方案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

    【讨论】:

    • 我正在获取完整数据....在控制台中打印的完整 pdf 文件。我使用的是 0.12.7 节点版本。
    • 好吧,我建议只浏览 github repo 的问题。入门示例看起来与您的完全相同。
    猜你喜欢
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 2022-01-22
    • 2022-01-26
    • 2021-09-28
    • 2021-08-09
    • 1970-01-01
    相关资源
    最近更新 更多