Я могу запустить Poppler для преобразования файла PDF в JPG с помощью Node JS, работающего в ОС Windows 10, без каких-либо проблем. Базовый код выглядит так:
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: Error: linux НЕ поддерживается. Я предполагаю, что это связано с тем, что облачные функции Google работают в ОС 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. Интересно, как развернуть мою функцию в Firebase с необходимыми файлами Linux? Любая помощь будет оценена по достоинству.
Мне нравится Poppler, и я хотел бы использовать его с облачными функциями Google.