Я пользую
JsPDF. Как видно из названия - он на JS. У меня работает вообще без серверной части, всё генерится на стороне клиетна.
Там довольно большой комбайн. Меня устраивает. На выходе "картинка в пдф", как вам и надо. То есть HTML -> canvas -> JPEG -> PDF.
Там правда не до конца разобрался с настройкой качества изображения, но мне хватает.