لاراول – چگونه در لاراول پی دی اف تولید و دانلود کنید

به طور معمول، اگر روی پروژه بزرگ ERP در لاراول کار کنیم، باید فایل PDF را برای داده ها از جدول پایگاه داده تولید کنیم. در این آموزش روشی بسیار ساده برای ایجاد فایل pdf و دانلود گام به گام آن برای مبتدیان ارائه می دهم.

در این پست از پکیج laravel-dompdf برای ایجاد فایل pdf استفاده می کنم و این پکیج برای دانلود تابع نیز ارائه می دهد. در این مثال من یک جدول “items” دارم و فایل پی دی اف داده های جدول items را با فرمت جدولی دانلود می کنم، همچنین می توانید فایل css خود را در view برای pdf بنویسید تا بتوانید فایل pdf را بسازید.

بنابراین، در نهایت شما باید فقط چند مرحله را دنبال کنید و پی دی اف تولید و دانلود کنید، ابتدا تصور میکنیم شما پروژه لاراول را ایجاد کرده اید:

قدم اول:

در مرحله اول باید افزونه laravel-dompdf را دانلود کنیم. بنابراین ابتدا دستور زیر را در ترمینال خود اجرا کنید:

composer require barryvdh/laravel-dompdf

سپس فایل config/app.php را باز کنید و موارد زیر را به aliases و providers اضافه کنید.

'providers' => [
	....
	Barryvdh\DomPDF\ServiceProvider::class,
],

'aliases' => [
	....
	'PDF' => Barryvdh\DomPDF\Facade::class,
],

قدم دوم: ساخت مسیر

در این مرحله باید route را برای view تولید اضافه کنیم. بنابراین فایل routes/web.php را باز کنید و مسیر زیر را اضافه کنید.

Route::get('pdfview',array('as'=>'pdfview','uses'=>'ItemController@pdfview'));

قدم سوم: ساخت کنترلر

خوب، اکنون باید کنترلر جدیدی را به عنوان ItemController در این مسیر app/Http/Controllers/ItemController.php ایجاد کنیم. مطمئن شوید که باید جدول items را با مقداری داده داشته باشید. این کنترلر داده ها را مدیریت می کند و فایل pdf تولید می کند، بنابراین محتوای زیر را در فایل کنترلر قرار دهید:

namespace App\Http\Controllers;


use App\Http\Requests;
use Illuminate\Http\Request;
use DB;
use PDF;

class ItemController extends Controller
{
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function pdfview(Request $request)
    {
        $items = DB::table("items")->get();
        view()->share('items',$items);

        if($request->has('download')){
            $pdf = PDF::loadView('pdfview');
            return $pdf->download('pdfview.pdf');
        }
        return view('pdfview');
    }
}

قدم چهارم: ساخت فایل view

در مرحله آخر باید فایل ویو به نام pdfview.blade.php را برای تولید view و همچنین فایل pdf ایجاد کنیم، پس فایل pdfview را ایجاد کرده و کد زیر را در آن قرار دهید:

<style type="text/css">
	table td, table th{
		border:1px solid black;
	}
</style>
<div class="container">
	<br/>
	<a href="{{ route('pdfview',['download'=>'pdf']) }}">Download PDF</a>
	<table>
		<tr>
			<th>No</th>
			<th>Title</th>
			<th>Description</th>
		</tr>
		@foreach ($items as $key => $item)
		<tr>
			<td>{{ ++$key }}</td>
			<td>{{ $item->title }}</td>
			<td>{{ $item->description }}</td>
		</tr>
		@endforeach
	</table>
</div>

اکنون می توانید لاراول را اجرا کنید، و نیز اطلاعات بیشتری در مورد این پکیج از اینجا دریافت کنید: laravel-dompdf.

Facebook
Twitter
LinkedIn
Telegram
WhatsApp

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

آخرین مقالات و نوشته ها