Codeigniter Tutorials
- What is codeigniter?
- Application_Architecture
- MVC Architecture
- HMVC Architecture
- Codeigniter Configuration
- Remove index.php from url in codeigniter
- MVC Concept
- View
- Alternate PHP Syntax for View Files
- Routing
- Codeigniter URL
- Get Current URL
- Previous page URL get
- Seo Friendly URL
- Slug Create in codeigniter
- What is _remap() function
- Remove controller name from url in codeigniter
- Codeigniter Controller Class
- Class Constructor
- GET $ POST method in Codeigniter
- Models
- Basepath, Apppath, FCPATH
- URI Segment
- Page Redirect
- Helper class
- Custom Helper class
- Form Helper
- Common Helper Functions
- Common Function
- Array Problems
- Call controller in Helper
- Add active class to menu using Helper class
- Custom Library
- Custom Library Example
- when to use get_instance()
- Codeigniter Hook
- how to work inline css in codeigniter
- Custom 404 page
- 404 custom error page
- Create custom config file in codeigniter
- How to set and get config item value
- How to Speed Up CodeIgniter App?
- Codeigniter Functions
- Session
- cookies
- How to Set & Get Tempdata in Codeigniter
- flash messages in Codeigniter
- Flashdata
- Encryption and Decryption In CodeIgniter
- Codeigniter security
- csrf token form security
- Password Hashing
- Form Validation
- Custom Validation
- Registration Form with validation
- Server Side Form Validation
- Validate Select Option Field
- Date Format Validation
- Date Format change in codeigniter
- Date Functions
- DOB Validation
- CI CRUD
- User SignUp
- User Login
- User Logout
- Login Account
- Login form with RememberMe
- Login Form with session
- User change password
- Change Password with Callback Validation to Check Old Password
- Forgot password
- Reset password
- Insert data in database
- Fetch data from database
- Update data in database
- Delete data in database
- File Upload
- Image Upload with resize Image
- Upload Multiple file and images
- Upload Multiple images with CRUD
- File and image update
- Upload Image Using Ajax.
- Email Send
- Email Send Using Email library
- Email Send Using SMTP Gmail
- Notification send
- store data in json format in DB
- Json parse
- Fetch data Using Ajax with Json data
- How to Show data Using Ajax with Json parse
- Get JSON Data from PHP Script using jQuery Ajax
- Insert data Using Ajax
- Submit data Using Ajax with form validation
- How to show data Using Ajax in codeigniter
- Insert & Update Using Ajax
- Registration Form With Validation Using Ajax in codeigniter
- Delete data Using Ajax Confirmation
- Delete All data Using checkbox selection
- Ajax CSRF Token
- Ajax Post
- Ajax serverside form validation
- Contact form using AJAX with form validation
- DataTable Using Ajax dynamically
- DataTables pagination using AJAX with Custom filter
- DataTables AJAX Pagination with Search and Sort in codeigniter
- DataTables in Codeigniter using Ajax
- Ajax Custom Serarch
- Ajax Live Data Search using Jquery PHP MySql
- Ajax Custom Serarch and sorting in datatable
- Dynamic Search Using Ajax
- Autocomplete using jquery ajax
- Jquery Ajax Autocomplete Search using Typeahead
- Dynamic Dependent Dropdown Using Ajax
- Dynamic Dependent Dropdown list Using Ajax
- Dynamic Dependent Dropdown in codeigniter using Ajax
- ajax username/email availability check using JQuery
- Check Email Availability Using Ajax
- Data Load on mouse scroll
- Ajax CI Pagination
- Pagination in codeigniter
- Ajax Codeigniter Pagination
- email exists or not using ajax with json
- CRUD using AJAX With Modal popup in CI
- Add / Show Data on modal popup using Ajax
- Modal popup Validation using Ajax
- Data show on Modal popup Using Ajax
- Add / Remove text field dynamically using jquery ajax
- How to Add/Delete Multiple HTML Rows using JavaScript
- Delete Multiple Rows using Checkbox
- Multiple Checkbox value
- Form submit using jquery Example
- REST & SOAP API
- Multi-Language implementation in CodeIgniter
- How to pass multiple array in view
- Captcha
- create zip file and download
- PhpOffice PhpSpreadsheet Library (Export data in excel sheet)
- data export in excel sheet
- Excel File generate in Codeigniter using PHPExcel
- Dompdf library
- tcpdf library
- Html table to Excel & docs download
- CI Database Query
- Database Query
- SQL Injection Prevention
- Auth Model
- Join Mysql
- Tree View in dropdown option list
- OTP Integration in codeigniter
- curl post
- download file using curl
- Sweet Alert
- Sweet alert Delete & Success
- Log Message in Codeigniter
- Menu & Submenu show dynamically
- Set Default value in input box
- Cron Jobs
- Stored Procedure
- Display Loading Image when AJAX call is in Progress
- Send SMS
- IP Address
- Codeigniter Tutorialspoint
- Website Link
- How To Create Dynamic Xml Sitemap In Codeigniter
- Paypal Payment Integration
- Get Latitude and Longitude From Address in Codeigniter Using google map API
- How To Create Simple Bar Chart In Codeigniter Using AmCharts?
- dynamic Highcharts in Codeigniter
- Barcode in Codeigniter
- Codeigniter Interview Questions
- Project
Home » Codeigniter »
How to convert Html to PDF using DOMPDF library?
You can easily convert to HTML to PDF conversion done by PHP library. Dompdf is a PHP library that helps to generate PDF file from HTML content.
Download Dompdf library
Downloadunzip this library under this path : application/libraries/
Pdf library
File Name : application/libraries/Pdf.php
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
require_once 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
class Pdf extends Dompdf
{
public function __construct()
{
parent::__construct();
}
}
?>
Controller
File Name : Member.php
<?php
defined('BASEPATH') OR exit('no direct script access allowed');
class Members extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('Admin_basic_model');
$this->load->library('pdf');
}
public function all_member()
{
$data = array();
$title['title'] = "All Member List";
$result_member = $this->Admin_basic_model->get_all_members();
$data['memberlist'] = $result_member;
$this->load->view('admin/basic/header',$title);
$this->load->view('admin/basic/allmemberlist',$data);
$this->load->view('admin/basic/footer');
}
public function pdfdetails($user_id)
{
//if($this->uri->segment(3))
//{
//$user_id = $this->uri->segment(3);
$html_content = '<h3 align="center">Convert HTML to PDF in CodeIgniter using Dompdf</h3>';
$html_content .= $this->Admin_basic_model->fetch_single_details($user_id);
$this->pdf->loadHtml($html_content);
$this->pdf->setPaper('A4', 'landscape');
$this->pdf->render();
$this->pdf->stream("".$user_id.".pdf", array("Attachment"=>0));
//}
}
public function pdfconvert()
{
$html_content = '<h3 align="center">Convert HTML to PDF in CodeIgniter using Dompdf</h3>';
$html_content .= $this->Admin_basic_model->fetch_alluser_details();
$this->pdf->loadHtml($html_content);
$this->pdf->render();
$this->pdf->stream("userdetail".".pdf", array("Attachment"=>0));
}
}
view
File Name : allmemberlist.php
<div class="row">
<div class="col-12">
<div class="card-box table-responsive">
<h4 class="m-t-0 header-title"> </h4>
<a href="<?php echo base_url()?>admin/basic/members/pdfconvert">Download PDF</a>
<table id="datatable" class="table table-bordered">
<thead>
<tr>
<th>U-Id</th>
<th>Name</th>
<th>Sp-Id</th>
<th>Sp-Name</th>
<th>position</th>
<th>Member</th>
<th>Mobile</th>
<th>R-date</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
if(!empty($memberlist))
{
foreach ($memberlist as $row){
?>
<tr>
<td><a href="<?php echo base_url()?>admin/basic/members/show_down_members/<?php echo $row->user_id;?>"><?php echo $row->user_id;?></a></td>
<td><?php echo $row->name;?></td>
<td><?php echo $row->sponser_code;?></td>
<td><?php echo $row->sponser_name;?></td>
<td><?php echo $row->user_position;?></td>
<td><?php echo $row->user_child;?></td>
<td><?php echo $row->mobile;?></td>
<td><?php echo $row->registration_date;?></td>
<td>
<?php if($row->status==1){?>
<button class="btn btn-icon waves-effect waves-light btn-success m-b-5"> <span>Yes</span> </button>
<?php } else { ?>
<button class="btn btn-icon waves-effect waves-light btn-danger m-b-5"> <i class="fa fa-remove"></i> </button>
<?php } ?>
</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle waves-effect waves-light" data-toggle="dropdown" aria-expanded="false">Action <span class="caret"></span></button>
<div class="dropdown-menu">
<a class="dropdown-item" href="<?php echo base_url()?>admin/profile/profile_details/<?php echo $row->user_id;?>">Edit</a>
<a class="dropdown-item viewbtn" href="javascript:void();" id="<?php echo $row->user_id; ?>" >View</a>
<a class="dropdown-item" href="<?php echo base_url()?>admin/basic/members/pdfdetails/<?php echo $row->user_id?>">View PDF</a>
</div>
</div>
</td>
</tr>
<?php } }else{ ?>
<tr>
<td>----- Recored Not Found -----</td>
</tr>
<?php }?>
</tbody>
</table>
</div>
</div>
</div> <!-- end row -->
model
File Name : Admin_basic_model.php
function fetch_single_details($user_id)
{
$this->db->where('user_id', $user_id);
$data = $this->db->get('user_register');
$output = '<table width="100%" cellspacing="5" cellpadding="5">';
foreach($data->result() as $row)
{
$output .= '
<tr>
<td width="25%"><img src="'.base_url().'images/'.$row->profile_photo.'" /></td>
<td width="75%">
<p><b>Name : </b>'.$row->user_id.'</p>
<p><b>Address : </b>'.$row->name.'</p>
<p><b>City : </b>'.$row->user_position.'</p>
<p><b>Postal Code : </b>'.$row->sponser_code.'</p>
<p><b>Country : </b> '.$row->mobile.' </p>
</td>
</tr>
';
}
$output .= '
<tr>
<td colspan="2" align="center"><a href="'.base_url().'admin/basic/members/all_member" class="btn btn-primary">Back</a></td>
</tr>
';
$output .= '</table>';
return $output;
}
public function fetch_alluser_details()
{
$this->db->select('*');
$this->db->from('user_register');
$this->db->where('status', '1');
$data = $this->db->get();
$output = '<table width="100%" cellspacing="5" cellpadding="5">';
foreach($data->result() as $row)
{
$output .= '
<tr>
<td>'.$row->user_id.' </td>
<td> '.$row->name.'</td>
<td> '.$row->user_position.'</td>
<td> '.$row->sponser_code.'</td>
<td> '.$row->mobile.'</td>
</tr>
';
}
$output .= '
<tr>
<td colspan="2" align="center"><a href="'.base_url().'admin/basic/members/all_member" class="btn btn-primary">Back</a></td>
</tr>
';
$output .= '</table>';
return $output;
}
Useful Methods Of Dompdf
File Name :
The following are some useful methods of Dompdf library to implement HTML to PDF conversion functionality.
loadHtml(): Loads HTML content.
$str (string) – Required. Specify the HTML to load.
$encoding (string) – Optional. Specify encoding.
loadHtmlFile(): Loads content from an HTML file.
$file (string) – Required. Specify file path to load.
output(): Returns the PDF as a string.
$options (array) – Optional. Specify whether content stream compression will enable. (compress => 1 or 0)
render(): Renders the HTML to PDF.
setBasePath(): Sets the base path to include external stylesheets and images.
$basePath (string) – The base path to be used when loading the external resources URLs.
setPaper(): Sets the paper size & orientation.
$size (string|array) – ‘letter’, ‘legal’, ‘A4’, etc.
$orientation (string) – ‘portrait’ or ‘landscape’.
stream(): Streams the PDF to the client.
$filename (string) – Specify name of the file (without .pdf extension).
$options (array) –
‘compress’ => 1 or 0 – enable content stream compression.
‘Attachment’ => 1 = download or 0 = preview
Example :-
File Name : Welcome.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index(){
$this->load->view('welcome_message');
// Get output html
$html = $this->output->get_output();
// Load pdf library
$this->load->library('pdf');
// Load HTML content
$this->dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation
$this->dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$this->dompdf->render();
// Output the generated PDF (1 = download and 0 = preview)
$this->dompdf->stream("welcome.pdf", array("Attachment"=>0));
}
}
File Name :
<?php defined('BASEPATH') OR exit('No direct script access allowed');
use Dompdf\Dompdf;
class Pdf
{
public function __construct(){
// include autoloader
require_once dirname(__FILE__).'/dompdf/autoload.inc.php';
// instantiate and use the dompdf class
$pdf = new DOMPDF();
$CI =& get_instance();
$CI->dompdf = $pdf;
}
}
?>