4
3

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 3 years have passed since last update.

Laravelのライブラリ「laravel-dompdf」を使ってビューの表示をPDFとして表示しよう

Posted at

目的

  • ライブラリを使用して現在のビューとして表示しているコードをそのまま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

実施条件

実施方法概要

  1. コントローラの確認
  2. アクションの記載変更
  3. 確認

実施方法詳細

  1. コントローラの確認
    1. PDFとして表示したいビューファイルが呼び出されているコントローラファイルを表示する。

      <?php
      
      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      
      
      
      
    2. use Illuminate\Http\Request;の下に下記の内容を記載する。

      use PDF;
      
    3. コントローラファイルの設定部分が下記の様になっていることを確認する。

      <?php
      
      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      
      use PDF;
      
      
      
      
  2. アクションの記載変更
    1. 先に確認したコントローラファイルのビューを表示しているアクションを確認する。

      return view('ビューファイルディレクトリ名.ビューファイル名');
      
    2. 先に確認したreturn部分を下記の様に記載する。

      $pdf = PDF::loadView('ビューファイルディレクトリ名.ビューファイル名');
      #変数などの引数を伴ってビューを呼んでいる場合
      $pdf = PDF::loadView('ビューファイルディレクトリ名.ビューファイル名', compact('変数や配列などの引数'));
      return $pdf->stream();
      
  3. 確認
    1. 下記コマンドを実行してローカルサーバを起動する。

      $ cd アプリ名ディレクトリ
      $ php artisan serve
      
    2. 修正したアクションとリンクするURLにアクセスする。

    3. PDFで表示されればOKである。(日本語は文字化け表示されるが、現在の設定だと正常である。)

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?