You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js如何将文件下载至内存直接传入PdfData.extract,无需存磁盘?

解决方案

你可以通过直接获取PDF的二进制Buffer并传入PdfData.extract来避免磁盘写入,具体修改如下:

  1. 移除所有文件系统(fs)相关代码,无需再创建临时目录和读写文件
  2. 将axios的responseType从'stream'改为'arraybuffer',让axios直接返回PDF的二进制数据Buffer
  3. 直接把axios响应的data传入PdfData.extract,跳过中间磁盘存储环节

修改后的完整代码:

const { PdfData } = require('pdfdataextract');
const axios = require('axios').default;

const getPDFText = async ({ url }) => {
  const response = await axios({
    url,
    method: 'get',
    responseType: 'arraybuffer' // 改为获取二进制Buffer
  });

  // 直接将Buffer传入extract方法
  return PdfData.extract(response.data, {
    get: {
       // 保留你原本的配置内容
    },
  });
};

补充说明

如果查看pdfdataextract库文档后确认它支持直接处理Stream输入,你也可以尝试将axios的响应流直接传入extract方法,但使用arraybuffer的方式更简单直接——大多数PDF处理库都支持直接接收Buffer作为输入,且无需额外处理流的异步监听逻辑。

内容的提问来源于stack exchange,提问作者pjlangley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:20:49