Я решил точно такую же проблему, используя библиотеку https://github.com/wkhtmltopdf/wkhtmltopdf. Есть несколько доступных проектов github, которые предоставляют некоторые дополнительные оболочки для запуска wkhtmltopdf
внутри лямбды, но я не думаю, что их использование имеет большую ценность. Вот что я сделал:
1) Запустите Docker-контейнер, используя Amazon linux
, Centos
тоже хорошо
2) Скомпилируйте wkhtmltopdf
самостоятельно или установите его, используя yum
3) Остановите контейнер и скопируйте wkhtmltopdf
двоичный файл
4) Создать zip-архив со следующей структурой
wkhtmltopdf.zip
└ bin/wkhtmltopdf
5) Создайте лямбда-слой и загрузите ранее созданный архив
6) wkhtmltopdf
станет доступным в лямбде $PATH
Пример выполнения:
Я использую python, но в nodejs
он не будет сильно отличаться, поскольку мы просто выполняем команду
subprocess.run(['wkhtmltopdf', 'home.html', '/tmp/html.pdf'])