Sierra環境で動作確認を行っています。Laravel環境でPDFを作成するために前回は、Laravel-dompdfパッケージを使った方法を説明しましたが、今回は別のパッッケージであるLaravel-Snappyを使用してPDFの作成を行ってみましょう。WKhtmltopdfパッケージのインストールLaravel-SnappyのインストールLaravel-SnappyのInstallationのページを確認しながらインストールを実行していきます。WkhtmltopdfのインストールLaravel-Snappyのパッケージをインストールする前にWhtmltopdfをインストールする必要があります。WhtmltopdfのインストールはComposerを利用して実施し、手順はWhtmltopdfを見ながら実施します。MAC環境ではWhtmltopdfのインストール方法が異なるの【補足】MACにWhtmltopdfをインストール”を参考にしてください。0.12.xWhtmltopdfは2019/10/29最新版の0.12.4がインストールされます。Whtmltopdfの実行ファイルがvendor/h4cc/wkhtmltopdf-amd64/binファイルに作成されます。あわせて読みたい入門者/初心者必見composerでパッケージを使うための基礎の基礎Laravel-SnappyのインストールComposerを使用してLaravel-Snappyのインストールを行います。barryvdh/laravel-snappyサービスプロバイダーとエイリアスへの登録インストール完了後、Laravelインストールディレクトリのconfig\app.phpにサービスプロバイダーとエイリアスを登録します。providersには、Barryvdh\Snappy\ServiceProvider::classの追加。Barryvdh\Snappy\Facades\SnappyImage::classの2行の追加を行います。configファイルの作成と変更Laravel-Snappyのconfig(設定)ファイルの変更が必要となるので、作成を行います。--provider="Barryvdh\Snappy\ServiceProvider"configファイルはconfigディレクトリにsnappy.phpという名前で作成されます。Whtmltopdfの実行ファイルのパスの設定が必要になります。変更前のsnappy.phpファイルは下記となります。MAC環境でwkhtmltopdfパッケージを/user/local/binにインストールした場合は、snappy.phpの変更の必要はありません。),);binaryの部分のパスの変更を行うと下記のようになります。),);PDFの作成ここまでの手順でPDFを作成するための設定は完了しました。次はController(コントローラー)を使って実際にPDFが作成できるか確認を行いましょう。Controller(コントローラー)の作成PDFの作成を行うためコントローラーファイルの作成を行います。PDFControllerルーティングの設定コントローラーファイル作成後、web.phpを使ってルーティングの追加を行います。Route::get('pdf','PDFController@index');ブラウザ上にPDFを表示ブラウザ上にPDFファイルの内容を表示させるためにPDFControllerに以下を記述します。Worldの文字列を表示させます。serveコマンドを使って開発サーバの起動を行います。Worldが表示されます。Worldからこんにちはに変更を行い日本語の対応を確認します。$pdf->inline();上記のコードでは文字化けを起こして日本語を確認することができませんMACの場合の日本語化setOptionでencodeをUTF-8に設定すると日本語を表示することができました。'utf-8')->inline();日本語に対応MACの場合は、OSのインストール済みのフォントを利用しているため日本語フォントのインストールを行わなくても日本語で出力することができました。Ubuntuの場合の日本語化setOptionでencodeをUTF-8に設定すると日本語が表示されるか確認します。'utf-8')->inline();上記のコードで文字化けが発生している場合はUbuntuに日本語フォントがインストールされていないので日本語フォントをインストールする必要があります。fonts-ipafontインストールのメッセージを見るとフォントは/usr/share/fonts/truetype/と/usr/share/fonts/opentype/の下に保存されることがわかります。以上で日本語フォントのインストールは完了です。IPAフォントのダウンロードaptコマンドではなくIPAフォントをサイトからダウンロードすることでも日本語をフォントを利用することが可能です。日本語フォントのIPAフォントのダウンロードを行います。URLは、https://ipafont.ipa.go.jp/old/ipafont/download.htmlです。ページの中盤になるTFTファイルのダウンロードを行ってください。IPAフォントダウンロードzipファイルとしてダウンロードされるので、解凍後、その中にあるファイルを/usr/local/share/fontsまたは/usr/share/fontsの下に保存してください。再度ブラウザから127.0.0.1:8000/pdfにアクセスして日本語が表示されるか確認を行います。【補足】MACにWKhtmltopdfをインストールするMAC環境で、Laravel-SnappyのInstallationに沿って設定を行っていくとPDFの作成を行った際に下記のエラーが発生します。実行権限の問題かと判断し、権限を変更しても同じエラーが発生します。コマンドラインで行っても同様のエラーが発生します。fileWKhtmltopdfパッケージのインストール上記問題は、WKhtmltopdfから直接パッケージをダウンロードし、インストールを行うことで回避することができました。composerをせずパッケージをインストールで、管理者権限も必要になります。インストール完了後、/user/local/binディレクトリに実行ファイルが作成されます。下記のwkhtmltopdfのホームページからパッケージのダウンロードを行います。MACなので、64bitを選択します。wkhtmltopdfダウンロード画面ダウンロードが完了したら、パッケージのアイコンをダブルクリックしてインストールを開始します。デスクトップにダウンロードしたパッケージインストールを開始しようとするとMACのバージョンによって下記のメッセージが表示されます。セキュリティに関するメッセージなので、システムから許可する必要があります。MACパッケージインストールメッセージシステム環境設定を開いて、セキュリティとプライバシーをクリックしてください。下記の画面でこのまま開くをクリックしてください。インストールが開始しない場合は、再度デスクトップのパッケージのアイコンをダブルクリックしてインストールを実行してください。手順に沿ってインストールを進めていきます。手順1手順2手順3MACの管理者のユーザIDとパスワードを聞かれるので、入力してください。下記の画面が表示されたらパッケージのインストールは完了です。インストール完了画面インストール完了後、/user/local/binに存在するか確認して、実行してみてください。lscomposerwkhtmltoimageuninstall-wkhtmltoxwkhtmltopdf実行後、バージョンが出力されればインストールは成功しています。WKhtmltopdfパッケージのインストール。