- ルートの設定: まず、ルートを設定して、ダウンロードリンクがアクセスできるようにします。routes/web.phpファイルに次のコードを追加します。
Route::get('/resume/download', 'ResumeController@download')->name('resume.download');
- ResumeControllerの作成: 次に、ResumeControllerを作成します。app/Http/Controllersディレクトリ内にResumeController.phpファイルを作成し、以下のコードを追加します。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Intervention\Image\Facades\Image;
class ResumeController extends Controller
{
public function download()
{
// レジュメの生成
$html = view('resume')->render();
$pdfPath = 'path/to/save/pdf/resume.pdf';
// PDFへの変換
$pdf = \PDF::loadHTML($html);
$pdf->save($pdfPath);
// PDFをイメージに変換
$imagePath = 'path/to/save/image/resume.png';
$image = Image::make($pdfPath)->encode('png');
$image->save($imagePath);
// イメージのダウンロード
return response()->download($imagePath);
}
}
- ビューの作成: 次に、ブログ投稿の内容を表示するためのビューを作成します。resources/viewsディレクトリ内にresume.blade.phpファイルを作成し、以下のコードを追加します。
<!DOCTYPE html>
<html>
<head>
<title>Resume</title>
</head>
<body>
<!-- レジュメの内容を表示するコードを追加 -->
</body>
</html>
- 必要なパッケージのインストール: イメージの生成とダウンロードには、Intervention ImageパッケージとLaravel DomPDFパッケージが必要です。以下のコマンドを使用して、これらのパッケージをインストールします。
composer require intervention/image
composer require barryvdh/laravel-dompdf
これで、履歴書をイメージ形式でダウンロードする機能が実装されました。ブラウザで「/resume/download」というURLにアクセスすると、履歴書がイメージとしてダウンロードされます。