目的
- ライブラリを使用して現在のビューとして表示しているコードをそのままPDFで表示する方法をまとめる
実施環境
- ハードウェア環境
項目 | 情報 |
---|---|
OS | macOS Catalina(10.15.3) |
ハードウェア | MacBook Air (11-inch ,2012) |
プロセッサ | 1.7 GHz デュアルコアIntel Core i5 |
メモリ | 8 GB 1600 MHz DDR3 |
グラフィックス | Intel HD Graphics 4000 1536 MB |
- ソフトウェア環境
項目 | 情報 |
---|---|
PHP バージョン | 7.4.3 |
Laravel バージョン | 7.0.8 |
- ライブラリ環境
項目 | 情報 | 備考 |
---|---|---|
laravel-dompdf | v0.8.6 | アプリ名ディレクトリに移動後コマンド`composer show -i |
実施条件
- 下記の記事に沿って環境構築を行っていること。
- ローカル開発環境でブラウザから確認可能なLaravelアプリがあること。
実施方法概要
- コントローラの確認
- アクションの記載変更
- 確認
実施方法詳細
- コントローラの確認
-
PDFとして表示したいビューファイルが呼び出されているコントローラファイルを表示する。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; ・ ・ ・
-
use Illuminate\Http\Request;
の下に下記の内容を記載する。use PDF;
-
コントローラファイルの設定部分が下記の様になっていることを確認する。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use PDF; ・ ・ ・
-
- アクションの記載変更
-
先に確認したコントローラファイルのビューを表示しているアクションを確認する。
return view('ビューファイルディレクトリ名.ビューファイル名');
-
先に確認した
return
部分を下記の様に記載する。$pdf = PDF::loadView('ビューファイルディレクトリ名.ビューファイル名'); #変数などの引数を伴ってビューを呼んでいる場合 $pdf = PDF::loadView('ビューファイルディレクトリ名.ビューファイル名', compact('変数や配列などの引数')); return $pdf->stream();
-
- 確認
-
下記コマンドを実行してローカルサーバを起動する。
$ cd アプリ名ディレクトリ $ php artisan serve
-
修正したアクションとリンクするURLにアクセスする。
-
PDFで表示されればOKである。(日本語は文字化け表示されるが、現在の設定だと正常である。)
-