如何用Express和Node读取PDF转文本?pdf-parse报错求助
问题
我正在尝试读取PDF文件并将其转换为文本,使用pdf-parse库时出现报错。我已查阅pdf-parser文档,但仍不清楚报错原因。此前从未接触该库,参考视频中使用很简单,但我的代码运行失败,请问有人遇到过此问题吗?
代码示例:
const url = require("./prueba.pdf"); const pdf = require("pdf-parse"); const fs = require("fs"); const pdffile = fs.readFileSync(url); console.log(pdffile); pdf(pdffile).then(function (data) { console.log(data.text); });
报错截图:
解决方法
你的代码核心问题是用require()加载PDF文件路径——这是完全错误的用法,require()是Node.js用来加载JS模块的,不能用来读取普通文件路径。
改成下面的代码就能解决:
const pdf = require("pdf-parse"); const fs = require("fs"); // 直接把文件路径字符串传给readFileSync,不用require const pdffile = fs.readFileSync("./prueba.pdf"); pdf(pdffile).then(function (data) { console.log(data.text); });
额外注意事项:
- 确认
prueba.pdf和你的代码文件在同一目录,路径不对的话要写正确的相对/绝对路径 - 确保已经执行
npm install pdf-parse安装好依赖 - 如果还是报错,换个无加密、未损坏的PDF文件测试,排除文件本身的问题
内容的提问来源于stack exchange,提问作者Kike gonzalez
相关产品推荐
相关产品推荐

