Всем привет. Есть такая задача: сгенерировать pdf-файл по кнопке, и сразу же отдать пользователю этот файл на скачивание, без сохранения файла на сервере. Если такое вообще возможно, не знаю.
Исходные: laravel 5, пакет
barryvdh/laravel-dompdf для генерации pdf. Пока дошёл до такого:
$pdf = \App::make('dompdf.wrapper');
$pdf = $pdf->loadView('pdf.offer', [ 'offer' => $offer ]);
$filename = public_path().'/files/pdf/offers/'.str_slug($offer->title . '_' . $offer->id).'.pdf';
$pdf->save($filename);
return 'http://'.request()->getHost().'/files/pdf/offers/'.str_slug($offer->title . '_' . $offer->id).'.pdf';
Через ajax пердаю необходимые данные для генерации в контроллер. Контроллер генерирует пдфку, сохрянет на диск и возвращает ссылку на скачивание.
В success'e ajax-запроса я просто открываю этот файл и пользователь скачивает.
....
success: function(data){
window.open(data);
}
....
Файл генерируется, пользователь скачивает - всё хорошо. Но мне эти пдфки на сервере не нужны, можно ли как-то генерировать это всё на лету? Может быть не вижу очевидного решения, глаз уже замылился.
UPD. Получилось сделать генрацию на лету, но в браузер пдф отдаётся как строка: