CodeIgniter 4 generate pdf example; In this tutorial, i will show you how to implement generate pdf from HTML in Codeigniter 4 app using dompdf library.
Dompdf is an HTML to PDF converter. At its heart, dompdf is (mostly) a CSS 2.1 compliant HTML layout and rendering engine written in PHP. It is a style-driven renderer: it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML elements.
The following example shows how to use Dompdf to convert HTML and generate PDF with minimal configuration.
- Specify the HTML content in loadHtml() method of Dompdf class.
- Render HTML as PDF using render() method.
- Output the generated PDF to Browser using stream() method.
If you want to generate PDF from HTML. In this example tutorial, I will show you step by step guide that in Codeigniter 4 app you will learn how to generate PDF file with HTML using dompdf library.
How to Generate PDF in Codeigniter 4 using DomPdf
Use the below given steps to implement generate pdf app in codeigniter 4 apps using DOMPdf library:
- Install Codeigniter 4 Application
- Basic App Configurations
- Setup Database Credentials
- Install Dompdf Library
- Create Controller Class
- Create Views
- Setup Routes
- Start Development server
Step 1 – Install Codeigniter 4 Application
First of all, you need to ownload the latest version of Codeigniter 4. So, visit this link https://codeigniter.com/download Download Codeigniter 4 app and unzip the setup in your local system xampp/htdocs/ .
Note that, please change the download folder name “demo”.
Step 2 – Basic App Configurations
Now, you need to some basic configuration on the app/config/app.php file, so let’s go to application/config/config.php and open this file on text editor.
Set Base URL like this
public $baseURL = 'http://localhost:8080'; To public $baseURL = 'http://localhost/demo/';
Step 3 – Setup Database Credentials
To connect your codeigniter 4 app to the database. So, visit app/Config/ directory and open Database.php. Then add the databasae details like below into database.php file:
public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'test', 'password' => '4Mu99BhzK8dr4vF1', 'database' => 'demo', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'development'), 'cacheOn' => false, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
Step 4 – Install Dompdf Library
To install dompdf pluing by executing the following comamnd on terminal:
composer require dompdf/dompdf
then open app/Config/autoload.php. add namespace to $psr4 array. see the code below:
public $psr4 = [ APP_NAMESPACE => APPPATH, // For custom app namespace 'Config' => APPPATH . 'Config', 'Dompdf' => APPPATH . 'ThirdParty/dompdf/src', ];
Step 5 – Create Controller Class
Create GeneratePDF.php file. So, visit app/Controllers directory and create GeneratePDF.php.Then add the following code into it:
<?php namespace App\Controllers; use CodeIgniter\Controller; class GeneratePDF extends Controller { public function index() { return view('pdf-view'); } function htmlToPDF(){ $dompdf = new \Dompdf\Dompdf(); $dompdf->loadHtml(view('pdf-view')); $dompdf->setPaper('A4', 'landscape'); $dompdf->render(); $dompdf->stream(); } }
GeneratePDF controller’s methods will work as follows:
- The
index()
function renders the list template into the view. - The
htmlToPDF()
function generate pdf file using html.
Step 6 – Create Views
Create list.php view file, so visit app/views/ directory and create list.php file. Then add the following HTML into list.php file:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Codeigniter 4 PDF Generate Example - Lartutorials.com</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"> </head> <body> <div class="container mt-5"> <h2>Codeigniter 4 Generate PDF From View using DOMPdf</h2> <div class="d-flex flex-row-reverse bd-highlight"> <a href="<?php echo base_url('htmlToPDF') ?>" class="btn btn-primary"> Download PDF </a> </div> <table class="table table-striped table-hover mt-4"> <thead> <tr> <th>Name</th> <th>Profile</th> <th>City</th> <th>Date</th> <th>CTC</th> </tr> </thead> <tbody> <tr> <td>Airi Satou</td> <td>Accountant</td> <td>Tokyo</td> <td>33</td> <td>2008/11/28</td> <td>$162,700</td> </tr> <tr> <td>Angelica Ramos</td> <td>Chief Executive Officer (CEO)</td> <td>London</td> <td>47</td> <td>2009/10/09</td> <td>$1,200,000</td> </tr> <tr> <td>Ashton Cox</td> <td>Junior Technical Author</td> <td>San Francisco</td> <td>66</td> <td>2009/01/12</td> <td>$86,000</td> </tr> <tr> <td>Bradley Greer</td> <td>Software Engineer</td> <td>London</td> <td>41</td> <td>2012/10/13</td> <td>$132,000</td> </tr> <tr> <td>Brenden Wagner</td> <td>Software Engineer</td> <td>San Francisco</td> <td>28</td> <td>2011/06/07</td> <td>$206,850</td> </tr> <tr> <td>Brielle Williamson</td> <td>Integration Specialist</td> <td>New York</td> <td>61</td> <td>2012/12/02</td> <td>$372,000</td> </tr> <tr> <td>Bruno Nash</td> <td>Software Engineer</td> <td>London</td> <td>38</td> <td>2011/05/03</td> <td>$163,500</td> </tr> <tr> <td>Caesar Vance</td> <td>Pre-Sales Support</td> <td>New York</td> <td>21</td> <td>2011/12/12</td> <td>$106,450</td> </tr> <tr> <td>Cara Stevens</td> <td>Sales Assistant</td> <td>New York</td> <td>46</td> <td>2011/12/06</td> <td>$145,600</td> </tr> <tr> <td>Cedric Kelly</td> <td>Senior Javascript Developer</td> <td>Edinburgh</td> <td>22</td> <td>2012/03/29</td> <td>$433,060</td> </tr> </tbody> </table> </div> </body> </html>
Step 7 – Setup Routes
To define a route, So, visit app/Config/ directory and open Routes.php file. Then add the following routes into it:
// CRUD RESTful Routes $routes->setDefaultController('GeneratePDF'); $routes->get('/', 'GeneratePDF::index'); $routes->get('generate-pdf', 'GeneratePDF::htmlToPDF');
Step 8 – Start Development server
Execute the following command into command prompt or terminal to start the codeigniter 4 application:
php spark serve
Then visit your web browser and hit the following url on it:
http://localhost/demo/ OR http://localhost:8080/
Conclusion
Convert html to pdf in codeigniter 4 using dompdf example; In this tutorial, you have learned how to convert html to pdf in codeigniter 4 using dompdf.
Recommended CodeIgniter 4 Tutorial
- How to Install / Download Codeigniter 4 By Manual, Composer, Git
- How to Remove Public and Index.php From URL in Codeigniter 4
- Codeigniter 4 – Form Validation Example Tutorial
- How to add jQuery Validation on Form in Codeigniter 4 Example
- Codeigniter 4 Ajax Form Submit Validation Example
- Codeigniter 4 File Upload Validation Example
- Image Upload with Validation in Codeigniter 4
- Codeigniter 4 Image Upload Preview Using jQuery Example
- Codeigniter 4 Ajax Image Upload Preview Example
- How to Upload Multiple Images in Codeigniter 4
- Codeigniter 4 Multiple Image Upload with Preview
- Codeigniter 4 Pagination Example; Create Pagination in Codeigniter
- Simple Codeigniter 4 CRUD with Bootstrap and MySQL Example
- Codeigniter 4 CRUD with Datatables Example
- Codeigniter 4 Image Crop and Save using Croppie Example
- Codeigniter 4 Dependent Dropdown using jQuery Ajax Example
- CodeIgniter 4 Rest Api CRUD Example
- Codeigniter 4 Login Registration and Logout Example
Be First to Comment