Create PDF using Codeigniter

In some cases, we need the report as a pdf or html conversion to pdf. So now I will try to explain how to create pdf page in CodeIgniter. To create pdf page, we use library for creating pdf, in this example I will use library tcpdf from Besides using tcpdf, you can also use another library such as fpdf,dompdf, etc.
I will use tcpdf? Because, I think tcpdf is very easy to use 😀
Following are instruction to add tcpdf library in your CodeIgniter:

  1. Download tcpfd from this url
  2. Example I downloaded, and extract it.
  3. Move tcpdf direktory to your CodeIgniter/application/libraries/
  4. Create file in your CodeIgniter/application/libraries/Pdf.php:
    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    require_once dirname(__FILE__) . '/tcpdf/tcpdf.php';
    class Pdf extends TCPDF
     function __construct()
    /* End of file Pdf.php */
    /* Location: ./application/libraries/Pdf.php */</pre>
  5. And the last, now we create example controller page to create pdf page. controllers/c_test.php:
    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    class C_test extends CI_Controller {
        function __construct()
        public function create_pdf() {
        // File name   : example_001.php
        // Description : Example 001 for TCPDF class
        //               Default Header and Footer
        // Author: Muhammad Saqlain Arif
        // (c) Copyright:
        //               Muhammad Saqlain Arif
        //               PHP Latest Tutorials
        // create new PDF document
        $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);    
        // set document information
        $pdf->SetAuthor('Muhammad Saqlain Arif');
        $pdf->SetTitle('TCPDF Example 001');
        $pdf->SetSubject('TCPDF Tutorial');
        $pdf->SetKeywords('TCPDF, PDF, example, test, guide');   
        // set default header data
        $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
        $pdf->setFooterData(array(0,64,0), array(0,64,128)); 
        // set header and footer fonts
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));  
        // set default monospaced font
        // set margins
        // set auto page breaks
        $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 
        // set image scale factor
        // set some language-dependent strings (optional)
        if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
        // ---------------------------------------------------------    
        // set default font subsetting mode
        // Set font
        // dejavusans is a UTF-8 Unicode font, if you only need to
        // print standard ASCII chars, you can use core fonts like
        // helvetica or times to reduce file size.
        $pdf->SetFont('dejavusans', '', 14, '', true);   
        // Add a page
        // This method has several options, check the source code documentation for more information.
        // set text shadow effect
        $pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal'));    
        // Set some content to print
        $html = <<<EOD
        <h1>Welcome to <a href="" style="text-decoration:none;background-color:#CC0000;color:black;">&nbsp;<span style="color:black;">TC</span><span style="color:white;">PDF</span>&nbsp;</a>!</h1>
        <i>This is the first example of TCPDF library.</i>
        <p>This text is printed using the <i>writeHTMLCell()</i> method but you can also use: <i>Multicell(), writeHTML(), Write(), Cell() and Text()</i>.</p>
        <p>Please check the source code documentation and other examples for further information.</p>
        // Print text using writeHTMLCell()
        $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);   
        // ---------------------------------------------------------    
        // Close and output PDF document
        // This method has several options, check the source code documentation for more information.
        $pdf->Output('example_001.pdf', 'I');    
        // END OF FILE
    /* End of file c_test.php */
    /* Location: ./application/controllers/c_test.php */
  6. After that finally you have done it, run this in your browser and you will get the results. :)

About the author

PHP | MVC | Codeignitor | Zend | Yii | Smarty | Android | Laravel Expert Senior Software Developer.I love my job and feel happy to working on new ideas and technologies.


Where were we?
[url=]FIFA 16 Vanishing Spray[/url]

Leave a Comment

Comment (required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Name (required)
Email (required)