Home Laravel How to generate PDF from html view file in laravel? the rich post

How to generate PDF from html view file in laravel? the rich post

by therichpost
0 comments
Laravel 7.2 routing with route group auth guard check with prefix

Hello to all, welcome to therichpost.com. In this post, I will tell you, How to generate PDF from html view file in laravel?

Here are the following steps to generate PDF from html view file in laravel? the rich post:
1.  Need to install laravel-dompdf package with below command:
composer require barryvdh/laravel-dompdf
2. After installing laravel-dompdf package you need to set their service provider and alias in following path config/app.php.
'providers' => [
    ....
    Barryvdh\DomPDF\ServiceProvider::class,
],

'aliases' => [
    ....
    'PDF' => Barryvdh\DomPDF\Facade::class,
],
 3. Set Up blade view template for resources/view/htmltopdfview.blade.php:
<div class="row">
    <a href="{{ route('htmltopdfview',['download'=>'pdf']) }}">Download PDF</a>
    <table>
        <tr>
            <th>Name</th>
            <th>Details</th>
        </tr>
        @foreach ($products as $product)
        <tr>
            <td>{{ $product->name }}</td>
            <td>{{ $product->details }}</td>
        </tr>
        @endforeach
    </table>
</div>
 4. Set up the app/Http/Controllers/ProductController.php.
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
use App\Product as Product;
use PDF;
class ProductController extends Controller
{
    public function htmltopdfview(Request $request)
    {
        $products = Products::all();
        view()->share('products',$products);
        if($request->has('download')){
            $pdf = PDF::loadView('htmltopdfview');
            return $pdf->download('htmltopdfview');
        }
        return view('htmltopdfview');
    }
}
 5. Set up the laravel routes/web.php.
Route::get('/htmltopdfview','ProductController@htmltopdfview');

 Now you are done. If you have any query related to this post, then feel free to ask.

 

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.