2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LaravelでDOMPDFを使ったPDF生成方法

Last updated at Posted at 2023-11-09

LaravelでPDFを生成する機能の紹介です。dompdfライブラリをLaravelに実装するプロセスをステップバイステップで説明します。

ステップ1: パッケージのインストール

最初に、Composerを使用してDOMPDFパッケージをインストールします。

composer require barryvdh/laravel-dompdf

ステップ2: サービスプロバイダの設定

次に、config/app.phpファイルにサービスプロバイダとエイリアスを追加します。

'providers' => [
    // ...
    Barryvdh\DomPDF\ServiceProvider::class,
],

'aliases' => [
    // ...
    'PDF' => Barryvdh\DomPDF\Facade::class,
],

ステップ3:ビューの作成

PDFで表示する内容を記述したビューファイルをresources/viewsディレクトリに作成します。例えば、invoice.blade.phpとして以下のように記述することができます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>請求書</title>
</head>
<body>
    <h1>請求書詳細</h1>
    <p>LaravelとDOMPDFを使用して生成されたサンプル請求書です。</p>
    <!-- その他の内容 -->
</body>
</html>

ステップ4:PDFの生成とダウンロード

実際にPDFを生成するには、以下のようなコントローラメソッドを作成します。

use PDF;

public function generatePDF()
{
    $data = [
        'title' => 'サンプルタイトル',
        'content' => 'ここにコンテンツを記述します。',
    ];
    
    $pdf = PDF::loadView('your.view', $data);
    
    return $pdf->download('sample.pdf');
}

このメソッドでは、ビューファイルとデータをloadViewメソッドに渡し、downloadメソッドを使用してPDFをダウンロードします。

まとめ

dompdfパッケージを使うと、Laravelアプリケーションで簡単にPDFを生成できます。
注意点ですが、デプロイをすると、viewのCSSが崩れたり、日本語表示ができなかったりしました。環境構築やライブラリの設定を変更し、対応できるようにする必要が出てくるかもしれません。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?