преобразование PDF в JPEG на AWS Lambda - PullRequest
0 голосов
/ 25 сентября 2018

Я написал небольшую лямбда-функцию Python, которая использует pdf2image для преобразования страниц файла PDF в отдельные файлы JPG.Эта библиотека является оберткой вокруг poppler-utils, в частности pdftoppm.Работает нормально в моей системе Ubuntu, но, конечно, AWS Lambda отличается.

Поэтому я пошел искать версию poppler, которую я мог бы скомпилировать на экземпляре EC2 для AWS Lambda, и обнаружил слегка устаревшую Poppler-build Ансибл Плейбук.С некоторыми изменениями я заставил его работать, однако версия Poppler, которую собирает этот playbook, не содержит существенного флага -jpeg, который превращает данные ppms прямо в jpegs.

Я пытался скомпилировать более новые версии Poppler, но все ониПохоже, что библиотеки и версии C ++ должны быть установлены отдельно, и я боюсь, что это нарушит поддержку AWS Lambda.

Poppler 0.58 всегда сбивается при

make [3]: Вход в каталог `/home/ec2-user/poppler3/poppler-0.58.0/poppler 'CXX
libpoppler_la-SignatureInfo.lo В файле, включенном из SignatureInfo.cc:22:0: / usr / include / nss3 / hasht.h: 48: 29: ошибка: 'PRBool' не был объявлен void (* destroy) (void *, PRBool);

Poppler 0.69 (последний), с другой стороны, беспокоится о:

/ home / ec2-user / poppler2 / poppler-0.69.0 / poppler / Annot.cc: в конструкторе 'DefaultAppearance :: DefaultAppearance (GooString *)': / home / ec2-user /poppler2 / poppler-0.69.0 / poppler / Annot.cc: 826: 23: ошибка: 'make_unique 'не является членом' std 'fontColor = std :: make_unique (gatof (((GooString *) daToks-> get (i-1)) -> getCString ()));^ /home/ec2-user/poppler2/poppler-0.69.0/poppler/Annot.cc:826:50: ошибка: ожидаемое первичное выражение до '>' токена fontColor = std :: make_unique (gatof (((GooString *) daToks-> get (i-1)) -> getCString ()));

Эта бесконечная попытка скомпилировать библиотеки и настроить их с использованием различных флагов, компиляторов и т. д. заняла у меня более двух дней, иЯ готов сдаться.Есть ли шанс, что кто-нибудь скажет мне, что я делаю неправильно, или предложит другой эффективный способ преобразования страниц PDF в файлы JPEG на AWS Lambda?

...