【发布时间】:2022-10-07 18:11:46
【问题描述】:
下面的代码工作正常,但我有一些代码反馈: \"为什么要将文件下载并保存到磁盘,只是为了将其读回内存中?\"
然而,在花了几个小时探索Buffer 和stream 的选项之后,我似乎没有取得任何进展。
const fs = require(\'fs\');
const { PdfData } = require(\'pdfdataextract\');
const axios = require(\'axios\').default;
const getPDFText = async ({ url }) => {
const tmpDir = `${process.cwd()}/my_dir`;
const writer = fs.createWriteStream(`${tmpDir}/document.pdf`);
const response = await axios({
url,
method: \'get\',
responseType: \'stream\'
});
response.data.pipe(writer);
const text = await new Promise((resolve, reject) => {
writer.on(\'finish\', () => {
const fileData = fs.readFileSync(`${tmpDir}/document.pdf`);
PdfData.extract(fileData, {
get: {
// ...
},
})
.then(resolve)
.catch(reject);
});
writer.on(\'error\', reject);
});
return text;
};
如何避免将文件保存到磁盘,而是将其输入PdfData.extract 方法?
标签: javascript node.js pdf-extraction