0

我被分配了一项将文本库 pdf 转换为图像库 pdf 的任务。所以我正在做的是使用 npm 库“pdf2img”将文本库 pdf 转换为图像。然后我使用 npm 库“ImagesToPdf”将这些图像组合成一个 pdf。该代码在不需要太多时间转换的小型 pdf 上运行良好。但是,当涉及超过 3 页的大型 pdf 文件时。它给出了代理错误,例如“代理错误:无法代理请求 /Api/pdfUpload 从 localhost:3000 到 http://localhost:3003。[1] 请参阅https://nodejs.org/api/errors.html#errors_common_system_errors更多信息(ECONNRESET)。”

当 pdf 正在转换图像然后组合形成单个 pdf 时,服务器会出现此错误。由于代码在小型 pdf 上运行良好,我可以在浏览器中看到转换后的 pdf。但不适用于大型pdf。

需要帮助,提前谢谢

下面是我的代码

pdf2img.setOptions({ type: 'png', // png 或 jpg, 默认 jpg 大小: 1024, // 默认 1024 密度: 800, // 默认 600 outputdir: __dirname + '/client/public/converted', //输出文件夹,默认为空(如果为空,则创建与文件名相同的文件夹名) outputname: fileName, // 输出文件名,默认为空(如果为空,则创建与输入名相同的图像名)页面: null // 转换所选页面,默认为null(如果给定null,则转换所有页面) });

  pdf2img.convert('pathToPdf', async function (error, info) {
    let imagesArray = []
    if (error) {
      return res.status(400).json({ errors: [{ msg: error.message }] });
    } else {
      info.message.map(img => {
        imagesArray.push(img.path)
      })
      await imagesToPdf(imagesArray, 'finalPdfPath')
      let file = fs.createReadStream('finalPdfPath');
      file.pipe(res);
    }
  });
4

0 回答 0