Даже если бы вы могли генерировать PDF в памяти в JavaScript, у вас все равно была бы проблема, как передать эти данные пользователю. JavaScript трудно просто отправить файл пользователю.
Чтобы получить файл пользователю, вы должны выполнить отправку на сервер, чтобы браузер вызвал диалоговое окно сохранения.
С учетом вышесказанного, на самом деле не так уж и сложно создавать PDF-файлы. Просто прочитайте спецификацию.