laravel8でPDF出力する方法
Laravel 8でPDFを出力するには、一般的には “barryvdh/laravel-dompdf” パッケージを使用することができます。以下は、Laravel 8で “barryvdh/laravel-dompdf” パッケージを使用してPDFを出力する方法の例です。
1.パッケージのインストール
まずは、Composerを使用して “barryvdh/laravel-dompdf” パッケージをインストールします。
composer require barryvdh/laravel-dompdf
2.設定ファイルの変更
次に、config/app.php ファイルに、以下のサービスプロバイダーとエイリアスを追加します。
'providers' => [
// ...
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
// ...
'PDF' => Barryvdh\DomPDF\Facade::class,
],
3.PDF出力するコントローラーを作成する
PDFを出力するコントローラーを作成し、次のようなコードを追加します。
use PDF;
public function generatePDF()
{
$data = [
'title' => 'Hello, World!'
];
$pdf = PDF::loadView('pdf.invoice', $data);
return $pdf->download('invoice.pdf');
}
このコードでは、PDF::loadView() メソッドを使用して、pdf.invoice というビューをPDFとして読み込んでいます。そして、$data 変数をビューに渡しています。最後に、$pdf->download() メソッドを使用して、生成されたPDFをダウンロードします。
4.PDFを出力するビューを作成する
PDFとして出力するビューを作成します。例えば、resources/views/pdf/invoice.blade.php ファイルに以下のようなコードを追加します。
<!DOCTYPE html>
<html>
<head>
<title>{{ $title }}</title>
</head>
<body>
<h1>{{ $title }}</h1>
<p>This is a sample PDF file.</p>
</body>
</html>
このビューは、$data 変数から受け取った title 変数を使用して、PDFファイル内にタイトルを表示し、その下に簡単なテキストを表示しています。
以上で、Laravel 8でPDFを出力するための基本的な手順が完了しました。生成されたPDFファイルは、download() メソッドによってダウンロードされます。他の方法で保存する場合は、代わりに save() メソッドを使用することができます。