如何使用Node.js将PDF二进制内容转换为JSON格式
Node.js 实现PDF二进制数据转JSON
前置准备
首先安装依赖库pdf-parse,该库支持直接处理Buffer格式的PDF二进制流,无需落地为本地文件:
npm install pdf-parse
可直接运行的封装代码
const pdfParse = require('pdf-parse'); /** * 传入PDF二进制Buffer,直接返回结构化JSON数据 * @param {Buffer} pdfBuffer 从第三方API获取的PDF二进制内容 * @returns {Object} 处理完成的JSON结构,包含文本内容、PDF元信息等字段 */ async function pdfBufferToJson(pdfBuffer) { try { const pdfData = await pdfParse(pdfBuffer); // 可根据业务需求自定义JSON字段,不需要的字段可以直接删除 const resultJson = { // PDF总文本内容 fullText: pdfData.text, // 总页数 totalPages: pdfData.numpages, // 元数据:标题、作者、创建时间等 meta: { title: pdfData.info?.Title || '', author: pdfData.info?.Author || '', creator: pdfData.info?.Creator || '', createTime: pdfData.info?.CreationDate || '', modifyTime: pdfData.info?.ModDate || '' }, // 处理状态标记 status: 'success' }; return resultJson; } catch (error) { return { status: 'fail', errorMsg: error.message }; } } // 调用示例 // 假设你从第三方API拿到的PDF二进制存在apiResponsePdfBuffer变量里 // const jsonResult = await pdfBufferToJson(apiResponsePdfBuffer); // 拿到的jsonResult可以直接存入数据库
注意事项
- 该方案仅支持文本型PDF处理,如果是扫描生成的图片版PDF,需要额外接入OCR能力才能提取内容
- 可根据业务需求自定义返回的JSON字段,不需要的元信息可以直接删除,也可以自行拆分每页文本存入对应字段
内容的提问来源于stack exchange,提问作者Deepak goud
相关产品推荐
相关产品推荐

