pdf-parse 错误 05-versions-space.pdf 解决方法

2025年5月16日技巧分享评论1,498字数 693阅读2分18秒阅读模式

pdf-parse 错误 05-versions-space.pdf 解决方法

今天项目中要用到 pdf 识别文本,于是用到了 pdf-parse 这个库,结果上来就报错:

ENOENT: no such file or directory, open './test/data/05-versions-space.pdf'

去网上搜了下问题,原来是官方有一段测试代码没有删,真离谱,就是这段:

//for testing purpose
if (isDebugMode) {

    let PDF_FILE = './test/data/05-versions-space.pdf';
    let dataBuffer = Fs.readFileSync(PDF_FILE);
    Pdf(dataBuffer).then(function(data) {
        Fs.writeFileSync(`${PDF_FILE}.txt`, data.text, {
            encoding: 'utf8',
            flag: 'w'
        });
        debugger;
    }).catch(function(err) {
        debugger;
    });

}

解决方法很多,有一种就是去库中把这一段删了,但是为了避免修改依赖库的代码我就没有采用这种方案。

还有一种是导入时引入单独的库:import pdf from 'pdf-parse/lib/pdf-parse'

可以解决,但是后面可能还会报别的错误。

最简单的方法就是在项目根目录创建这个文件:test/data/05-versions-space.pdf

就可以完美解决了。

但是,我要说但是了,这个库不支持中文的识别...猝!

最后使用 pdfreader 这个库真正解决了,供参考。

在 Git 中如何撤销掉之前的某一次提交 技巧分享

在 Git 中如何撤销掉之前的某一次提交

今天同事提交了一次修改,我拉取了他的修改继续做了很多工作,并提交了多次。 在准备远程的时候,我审查了下他的代码,发现有严重的问题,那么如果我只想撤回他的那次提交,而保留我之后的提交,该怎么做呢? 可以...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定