barryvdh/laravel-dompdf
install package menggunakan command ini:
composer require barryvdh/laravel-dompdf
dalam controller, jangan lupa include DomPDF. kemudian load data macam kita biasa buat untuk view. Perbezaannya kat sini, kita panggil PDF::loadView('nama_blade', [data]) instead of view().
use Barryvdh\DomPDF\Facade\Pdf;
class ReportController extends Controller
{
public function download()
{
$data = [
'title' => 'Laporan Bulanan',
'date' => date('d/m/Y'),
'content' => 'Ini contoh report PDF.'
];
$pdf = Pdf::loadView('pdf.report', $data);
return $pdf->download('laporan.pdf'); // download
// return $pdf->stream('laporan.pdf'); // terus buka dalam browser
}
}
untuk gambar dalam output tu, guna public_path('img/logo.png');
tapi kalau kita nak guna asset, kena enable dulu option isRemoteEnabled untuk remote. kat bawah ni contoh code untuk enable gambar guna asset();
// apply option masa create instance
$pdf = \PDF::setOptions([
'isRemoteEnabled' => true,
'defaultFont' => 'sans-serif'
])->loadHTML($pdfView)
->setPaper('a4', 'portrait');
No Comments