Laravel | Laravel-dompdfの利用方法

Laravel

Lravel で、PDF出力する方法は色々あります。
人気のあるプラグインもたくさんあり、どれを採用してよいのか迷ってしまうと思います。

本記事では、PDF出力でもっとも人気のあるプラグインである「Laravel-dompdf」の利用方法を解説いたします。

ぜひ、参考にしていただければと思います。

インストール

下記のコマンドを実行して、インストールを実行します。

Laravel 5.5以上であれば、config/app.phpへの設定作業も必要ありません。

インストール履歴

フォント準備

laravel-dompdfでは、日本語を出力するには、日本語フォントが必要になります。

下記のリンクから、IPAフォントをダウンロードしてstorage/fontsに設置します。
(フォルダが無い場合には、作成して権限を777に設定します)

MigMix(ミグミックス)フォント
https://mix-mplus-ipa.osdn.jp/migmix/

Viewの作成

ここでは、PDFでアウトプットされるViewを作成します。

/resources/views/pdf.blade.php

注意点としては、@font-faceの部分です。
ここに指定したフォントが PDFで利用できるようになります。

なお、@font-faceが2つあるのは通常の文字と、太字に対応するためです。

Controller

先ほど作成したビューを、loadView()で読み込んで、stream()を呼びます。

また、PDFをダウンロードしたい場合は、下記のように、return部分を変更します。

return $pdf->download('title.pdf');

実行結果

PDF出力結果は、下記の画像のように出力されます。

その他の補足

テーブルのテキスト文字の折り返し<\h3>

DomPDFで word-wrap、word-break が効かない場合があります。

サイトには色々な方法が記載されていましたが、どれもうまくいきませんでした。

一番かんたんな方法は、下記のように記述することで解決できます。

用紙指定の方法

縦・横への変更

参考サイト

Laravel-dompdfでPDF化する方法について
https://itcrest.co.jp/laravel-dompdf/

Docker + laravel-dompdfで日本語が文字化けする
https://qiita.com/Kim-yzrh/items/2c319080755e56a1be0f

LaravelでPDF出力したいけど結局何がベストなのか
https://qol-kk.com/wp2/blog/2022/08/09/post-3180/#outline__1

LaravelでPDFを出力する
https://qiita.com/yukieeeee/items/2085aad47f73aae3889e

【Laravel】laravel-dompdfライブラリでPDFを出力するやり方を解説します
https://www.tairaengineer-note.com/laravel-output-pdf/

Laravel環境下でPDFを出力する際の注意点(DomPdf)
https://qiita.com/kanryu/items/ca3beb647b1c4af22aef

おススメ商品

タイトルとURLをコピーしました