Для того чтобы браузер скачивал PDF-файл, а не открывал его в браузере, можно использовать заголовки HTTP. Для этого нужно добавить заголовки Content-Type и Content-Disposition в ответ от сервера.
Ниже приведен пример кода контроллера в Laravel, который отправляет PDF-файл с заголовками для скачивания:
```php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use PDF;
class PdfController extends Controller
{
public function downloadPdf()
{
// Генерация PDF-файла с использованием библиотеки snappy или другой библиотеки
$pdf = PDF::loadView('pdf.document');
// Отправка PDF-файла с заголовками для скачивания
return response($pdf->output(), 200)
->header('Content-Type', 'application/pdf')
->header('Content-Disposition', 'attachment; filename="document.pdf"');
}
}
```
В данном примере после генерации PDF-файла с помощью библиотеки snappy, мы возвращаем response с данными PDF-файла и устанавливаем заголовки Content-Type как `application/pdf` и Content-Disposition как `attachment`, что говорит браузеру скачать файл с именем `document.pdf`.
Если после этого в браузере все равно отображается содержимое PDF-файла, то это может быть связано с настройками браузера или расширениями. В таком случае попробуйте сохранить файл на диск, щелчком правой кнопкой мыши по ссылке и выбором "Сохранить ссылку как..." или аналогичным способом в вашем браузере.