如何在Node环境中将BLOB转换为PDF文件?

4

我有一个Node.js服务器,从另一个Web服务中获取Blob数据(用于PDF文件),现在收到Blob后,我想再次将其转换为PDF文件。

任何知道如何实现此操作的人请帮忙。

以下是我迄今为止尝试过的代码块:

const fetch = require('node-fetch');
const Blob = require('fetch-blob');
const fs = require('fs');

fetch(url, options)
   .then(res => {
      console.log(res);
      res.blob().then(async (data) => {

         const result = data.stream();
         // below line of code saves a blank pdf file
         fs.createWriteStream(objectId + '.pdf').write(result);
      })
   })
   .catch(e => {
      console.log(e);
   });
1个回答

3

修改点:

  • 对于fs.createWriteStream(objectId + '.pdf').write(data),请将res.blob()修改为res.buffer()
  • 请将.then(res => {res.blob().then()修改为.then(res => res.buffer()).then(

修改后的脚本:

fetch(url, options)
  .then(res => res.buffer())
  .then(data => {
    fs.createWriteStream(objectId + '.pdf').write(data);
  })
  .catch(e => {
    console.log(e);
  });

注意:

  • 在这个修改中,假设使用 urloptions 进行的获取过程正常工作。

参考文献:


@Mayank yaduvanshi 谢谢您的回复。我很高兴您的问题已经解决。 - Tanaike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接