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() メソッドを使用することができます。

シェアする

上にスクロール