Dompdf is a PHP library for creating PDFs.
Dompdf creates PDFs from HTML, making it more practical. Besides that, we can use CSS in it.
Currently Dompdf supports CSS version 2.1.
1. Activate the Autoload Composer
Therefore, autoload for the Composer needs to be activated.
Please open the file
application/config/config.php
, then fill in the Composer autoload section like this.$config['composer_autoload'] = "vendor/autoload.php";
2. Install Dompdf
Next we install
dompdf
with the command:composer require dompdf/dompdf
Run the command in the project directory.
Also read: How to Use the Composer on CodeIgniter
3. Make Your Own Library
In order not to rewrite the same code in every use of Dompdf, we just create our own library.
Please create a new file in the directory
application/libraries
with the name pdf.php
.
Contents like the following.
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* CodeIgniter DomPDF Library
*
* Generate PDF's from HTML in CodeIgniter
*
* @packge CodeIgniter
* @subpackage Libraries
* @category Libraries
* @author Ardianta Pargo
* @license MIT License
* @link https://github.com/ardianta/codeigniter-dompdf
*/
use Dompdf\Dompdf;
class Pdf extends Dompdf{
/**
* PDF filename
* @var String
*/
public $filename;
public function __construct(){
parent::__construct();
$this->filename = "laporan.pdf";
}
/**
* Get an instance of CodeIgniter
*
* @access protected
* @return void
*/
protected function ci()
{
return get_instance();
}
/**
* Load a CodeIgniter view into domPDF
*
* @access public
* @param string $view The view to load
* @param array $data The view data
* @return void
*/
public function load_view($view, $data = array()){
$html = $this->ci()->load->view($view, $data, TRUE);
$this->load_html($html);
// Render the PDF
$this->render();
// Output the generated PDF to Browser
$this->stream($this->filename, array("Attachment" => false));
}
}
The code above is the exstends class from the Dompdf class .
4. Making a Controller
Create a function inside the Controller to use the library that we just created.
public function laporan_pdf(){
$data = array(
"dataku" => array(
"nama" => "Petani Kode",
"url" => "http://petanikode.com"
)
);
$this->load->library('pdf');
$this->pdf->setPaper('A4', 'potrait');
$this->pdf->filename = "laporan-petanikode.pdf";
$this->pdf->load_view('laporan_pdf', $data);
}
The loaded view file is named
laporan_pdf
, meaning we have to create a view file named laporan_pdf.php
in application/views
.5. Make a View
File:
application/views/laporan_pdf.php
<pre><?php print_r($dataku); ?></pre>
6. Experiment
That's how to use Dompdf on Codeigniter.
The rest you can experiment alone.
0 Komentar untuk "How to use Dompdf on Codeigniter"
Silahkan berkomentar sesuai artikel