Hướng dẫn how do i convert html to pdf in laravel? - làm cách nào để chuyển đổi html sang pdf trong laravel?

Gói DOMPDF có các tính năng phong phú để chuyển đổi HTML thành PDF trong Laravel. Trong bài viết này, chúng tôi sẽ học cách sử dụng HTML đến PDF bằng gói DOMPDF. Trong hầu hết các trang web, cần phải chuyển đổi HTML thành PDF hoặc xuất dữ liệu ở định dạng PDF, DOMPDF thực hiện công việc này một cách hoàn hảo. DOMPDF có khả năng chuyển đổi HTML thành PDF và cũng phải tạo PDF theo chương trình.

Laravel DOMPDF Gói thư viện theo kiểu dựa trên Php, phù hợp với bố cục CSS CSS 2.1 HTML. Sử dụng thư viện này, bạn có thể nhập CSS từ bên ngoài hoặc bên trong.

Trong ví dụ này, chúng tôi sẽ tạo một ví dụ đơn giản để xuất bảng cơ sở dữ liệu ở định dạng PDF. Đối với điều này, chúng tôi sẽ tạo một cơ sở dữ liệu, bảng, mô hình, bộ điều khiển và chế độ xem đơn giản cho HTML.

Hãy để hiểu về HTML chuyển đổi thành PDF trong Laravel 8/9 với ví dụ đơn giản

Bước 1: Cài đặt gói

Tôi giả sử bạn đã cài đặt kết nối Laravel và cơ bản của nó như kết nối và nhà soạn nhạc cơ sở dữ liệu.

Bây giờ cài đặt gói bằng Trình soạn thảo trong thư mục Root Laravel, mở đầu cuối trong thư mục gốc của Laravel và chạy bên dưới để cài đặt gói DOMPDF

composer require barryvdh/laravel-dompdf

Bước 2: Tạo bảng, mô hình và điền dữ liệu

Bây giờ, cho một ví dụ, tôi đang tạo ở đây một bảng sử dụng di chuyển và sau đó tôi sẽ điền vào dữ liệu trong đó, vì vậy hãy tạo mô hình và di chuyển

php artisan make:model Article -m

Điều này sẽ tạo ra mô hình và tệp di chuyển

<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Article extends Model { use HasFactory; }

và tệp di chuyển php artisan make:model Article -m2php artisan make:model Article -m2

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateArticlesTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('articles', function (Blueprint $table) { $table->id(); $table->string('email')->unique();; $table->string('title'); $table->string('body'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('products'); } }

Và sau đó di cư di cư

Bây giờ hãy tạo SEEDER trong cơ sở dữ liệu/người gieo hạt/databaseseeder.phpdatabase/seeders/DatabaseSeeder.php

<?php namespace Database\Seeders; use Illuminate\Database\Seeder; // Import DB and Faker services use Illuminate\Support\Facades\DB; use Faker\Factory as Faker; class DatabaseSeeder extends Seeder { /** * Seed the application's database. * * @return void */ public function run() { $faker = Faker::create(); for ($i=0;$i<=100;$i++) { DB::table('articles')->insert([ 'title' => $faker->name, 'body' => $faker->text, 'email' => $faker->email, 'updated_at' =>$faker->datetime, 'created_at' => $faker->datetime ]); } } }

Chạy gieo hạt trong dòng lệnh

Bước 3: Tạo bộ điều khiển

Hãy để tạo ra một bộ điều khiển và thêm một phương thức showarticleandexport và cũng thêm điều kiện cho bài viết xuất khẩu tại đâyshowArticleAndExport and also add condition for export article here

php artisan make:controller ArticleController

và thêm mã dưới đây

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Article; use PDF; class ArticleController extends Controller { // Show products public function showArticleAndExport(Request $request){ // added searching as well $product = Article::when($request->has("title"),function($q)use($request){ return $q->where("title","like","%".$request->get("title")."%"); })->get(); // or // $product = Article::all(); if($request->get("export")==1){ $pdf = PDF::loadView('articles.article', ['articles'=>$articles]); return $pdf->download('articles.pdf'); } return view('articles.article',['articles'=>$articles]); } }

Ở đây chúng tôi đã thêm Phương pháp ShowarticleandExport để hiển thị danh sách các bài viết để xuất bài viết về điều kiện của các thông số yêu cầu.showArticleAndExport method to show the list of articles as well to export the article on the condition of request params.

Bước 5: Tạo các chế độ xem

Tạo tài nguyên xem/bài viết/bài báo.blade.phpresource/articles/article.blade.php

<!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Readerstacks Laravel html to pdf conversion</title> <script src="//code.jquery.com/jquery-3.6.0.min.js" crossorigin="anonymous"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js"></script> <link href="//netdna.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" /> </head> <body class="antialiased"> <div class="container"> <!-- main app container --> <div class="readersack"> <div class="container"> <div class="row"> <div class="col-md-12 "> <h3>Convert html to pdf in laravel 8 / 9 - Readerstacks</h3> @if(request("export")!=1) <a class='btn btn-info' href='{{url("html-to-pdf?export=1")}}'>Export PDF</a> <div id="search"> <form id="searchform" name="searchform"> <div class="form-group"> <label>Search by Title</label> <input type="text" name="title" value="{{request()->get('title','')}}" class="form-control" /> </div> <div class="form-group"> <label>Search by body</label> <input type="text" name="body" value="{{request()->get('body','')}}" class="form-control" /> </div> <button class='btn btn-success' >Search</button> </form> </div> @endif <div id="pagination_data"> <table class="table table-striped table-dark table-bordered"> <tr> <th>Sr No.</th> <th>Title</th> <th>Body</th> <th>Date</th> </tr> @foreach($articles as $article) <tr> <td>{{$article->id}}</td> <td>{{$article->title}}</td> <td>{{substr($article->body,0,50)}}</td> <td>{{$article->created_at}}</td> </tr> @endforeach </table> </div> </div> </div> </div> </div> <!-- credits --> <div class="text-center"> <p> <a href="#" target="_top">Laravel html to pdf conversion </a> </p> <p> <a href="//readerstacks.com" target="_top">readerstacks.com</a> </p> </div> </div> </body> </html>

Bước 6: Tạo các tuyến đường

Bước cuối cùng là tạo các tuyến đường để hiển thị biểu mẫu và gửi biểu mẫu

<?php use Illuminate\Support\Facades\Route; use \App\Http\Controllers\ArticleController; Route::get('/html-to-pdf',[ArticleController::class, 'showArticleAndExport']);

Ảnh chụp màn hình

HTML đến PDF Laravel

Chuyển đổi HTML đơn giản sang PDF khi đang bay

Nếu bạn muốn chuyển đổi HTML đơn giản thành PDF thì bạn chỉ cần tạo một tuyến đường và thêm mã này

Route::get("/html-to-pdf-simple",function(){ $pdf = \App::make('dompdf.wrapper'); $pdf->loadHTML('<h2>Test</h2>'); return $pdf->stream(); });

Lưu để lưu trữ

Bạn có thể lưu vào lưu trữ ứng dụng của mình và sau đó bạn có thể tải xuống mà không cần xử lý chuyển đổi

php artisan make:model Article -m0

Thêm trang phá vỡ trang

php artisan make:model Article -m1

Bạn có thể chuyển đổi HTML thành PDF không?

Cách chuyển đổi các trang HTML thành các tệp PDF: Trên máy tính Windows, hãy mở trang web HTML trong Internet Explorer, Google Chrome hoặc Firefox. Trên máy Mac, mở một trang web HTML trong Firefox. Nhấp vào nút Chuyển đổi sang PDF, trong thanh công cụ Adobe PDF để bắt đầu chuyển đổi PDF.

Làm cách nào để chuyển đổi các trang thành pdf trong laravel?

Chuyển đổi HTML thành PDF trong Laravel 9 với phần mở rộng DOMPDF..
Tạo ứng dụng Laravel. Bắt đầu bước đầu tiên với việc cài đặt ứng dụng Laravel. ....
Cài đặt gói DOMPDF. ....
Thiết lập tiện ích mở rộng DOMPDF. ....
Làm cho cơ sở dữ liệu sẵn sàng. ....
Mô hình và di chuyển. ....
Tạo bộ điều khiển. ....
Thiết lập các tuyến đường. ....
Tạo chế độ xem ..

Làm cách nào để chuyển đổi HTML thành Laravel?

Cách chuyển đổi mẫu HTML thành Dự án Laravel trong 5 bước đơn giản..
Sao chép tất cả .Các tệp HTML đến thư mục dự án Laravel của bạn> Tài nguyên> Xem ..
Đổi tên tất cả các tệp .html thành .Blade.php ..
Sao chép tất cả CSS, JS, hình ảnh và thư mục phông chữ vào thư mục công khai ..
Liên kết tất cả CSS, JS, hình ảnh bằng cách sử dụng {{tài sản ('/')}} ....
Tạo tuyến đường trong các tuyến đường> Web ..

Làm thế nào có thể tạo HTML PDF trong PHP?

Để chuyển đổi HTML thành PDF, chỉ cần ba bước:-..
Tạo một tệp HTML và xác định đánh dấu.Chúng tôi tạo một tệp HTML và lưu nó với tên html_to_pdf.html.....
Tạo một tệp PHP để tạo PDF.Chúng tôi tạo một tệp PHP và lưu nó với tên Generate_pdf.php.....
Tạo tệp CSS và xác định kiểu dáng ..

Chủ đề