라라벨 : 데이터를 PDF로 내보내기 (DOMPDF)
https://youtu.be/8eMBg6pBrVs
안녕하세요 동료 개발자!
잘 지내고 있나요?
laravel에서는 dompdf라는 유용한 패키지를 사용하여 데이터를 pdf 형식으로 쉽게 내보낼 수 있습니다. 이 튜토리얼에서는 사용자 데이터를 데이터베이스에서 pdf 파일로 내보내는 예를 들었습니다.
패키지 링크:
https://github.com/barryvdh/laravel-dompdf
글쎄, 우리는 이것을 단계별로 다룰 것이므로 위에서 제공한 이 기사 또는 비디오를 따르겠습니다.
단계 # 01:
먼저 dompdf 패키지를 설치하고 구성합니다.
composer require barryvdh/laravel-dompdf
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
02단계:
pdf를 보려면 컨트롤러에 이 기능을 추가하십시오.
public function viewPDF()
{
$users = User::all();
$pdf = PDF::loadView('pdf.usersdetails', array('users' => $users))
->setPaper('a4', 'portrait');
return $pdf->stream();
}
컨트롤러에 이 기능을 추가하여 PDF를 다운로드하십시오...
public function downloadPDF()
{
$users = User::all();
$pdf = PDF::loadView('pdf.usersdetails', array('users' => $users))
->setPaper('a4', 'portrait');
return $pdf->download('users-details.pdf');
}
이 기능의 경로를 만드십시오.
Route::post('users/view-pdf', [HomeController::class, 'viewPDF'])->name('view-pdf');
Route::post('users/download-pdf', [HomeController::class, 'downloadPDF'])->name('download-pdf');
어떤 html 템플릿을 사용해도 데이터를 내보낼 수 있지만 제 동영상에서 사용한 것을 여러분과 공유하겠습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>User Details</title>
<style>
table {
width: 95%;
border-collapse: collapse;
margin: 50px auto;
}
/* Zebra striping */
tr:nth-of-type(odd) {
background: #eee;
}
th {
background: #3498db;
color: white;
font-weight: bold;
}
td,
th {
padding: 10px;
border: 1px solid #ccc;
text-align: left;
font-size: 18px;
}
</style>
</head>
<body>
<div style="width: 95%; margin: 0 auto;">
<div style="width: 10%; float:left; margin-right: 20px;">
<img src="{{ public_path('assets/images/logo.png') }}" width="100%" alt="">
</div>
<div style="width: 50%; float: left;">
<h1>All User Details</h1>
</div>
</div>
<table style="position: relative; top: 50px;">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Date Of Joining</th>
</tr>
</thead>
<tbody>
@foreach ($users as $user)
<tr>
<td data-column="First Name">{{ $user->first_name }}</td>
<td data-column="Last Name">{{ $user->last_name }}</td>
<td data-column="Email" style="color: dodgerblue;">
{{ $user->email }}
</td>
<td data-column="Date">
{{ date('F j, Y', strtotime($user->create_at)) }}
</td>
</tr>
@endforeach
</tbody>
</table>
</body>
</html>
질문이 있거나 문제가 있는 경우 아래에 댓글을 고정하거나 비디오를 시청하세요!
https://youtu.be/8eMBg6pBrVs
감사해요!!!
Reference
이 문제에 관하여(라라벨 : 데이터를 PDF로 내보내기 (DOMPDF)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/suleman/laravel-export-data-to-pdf-dompdf-3g6b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)