首页 > 解决方案 > 将 Poppler 与 Google Cloud 函数结合使用

问题描述

我可以运行 Poppler 以在 Windows 10 操作系统上运行 Node JS 将 PDF 文件转换为 JPG,而不会出现任何问题。基本代码是这样的:

const { Poppler } = require('node-poppler');
app.get('/poppler', (req, res) => {
  const file = __dirname + '/res/8025.pdf';
  const poppler = new Poppler();
  const options = {
    firstPageToConvert: 1,
    lastPageToConvert: 1,
    jpegFile: true,
  };
  const outputFile = __dirname + '/res/8025';
  const result = poppler.pdfToCairo(options, file, outputFile).then((res) => {
    console.log(result);
  });
});

但是在 Google Cloud Functions 上运行的相同代码会产生错误poppler:错误:不支持 linux 我猜这是因为 Google Cloud Functions 在 Ubuntu 操作系统上运行。

node-poppler NPM 说:

Linux 支持:

此存储库提供了 Windows 和 OSX/Darwin 二进制文件。对于 Linux 用户,您需要分别下载 poppler-data 和 poppler-utils 二进制文件。

在 Debian 系统上下载二进制文件的示例:

sudo apt-get install poppler-data
sudo apt-get install poppler-utils

安装后,您需要将 poppler-utils 安装目录作为参数传递给 Poppler 类的实例:

const { Poppler } = require('node-poppler');
const poppler = new Poppler('./usr/bin');

我可以使用 Windows WSL 来运行 Linux,我想知道如何使用所需的 Linux 文件将我的功能部署到 Firebase?任何帮助将不胜感激。

我喜欢 Poppler,并希望将它与 Google 云功能一起使用。

标签: node.jsgoogle-cloud-functionspoppler

解决方案


推荐阅读