Save to PDF di Codeigniter ?

Hay agan agan , biasanya di nativ saya pake MPDF buat save file ke pdf. tapi di code igniter saya ga ngerti cara makenya :D mungkin ada tutorial yang gampang di mengerti ? atau ada cara yang lebih efektif buat save pdf . mohon saran . thanks

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Diperbarui 5 tahun yang lalu

9 Jawaban:

Jawaban Terpilih

kalau saya biasa pakai mpdf. tutorialnya bisa ambil di sini https://davidsimpson.me/2013/05/19/using-mpdf-with-codeigniter/ . cara kerja mpdf adalah men-convert html menjadi pdf, sehingga kita tidak perlu lagi membuat layout report yang ingin ditampilkan, karena report akan ditampilkan sesuai file html dan css yg kita buat. . cara memanggilnya jg cukup mudah dan tidak banyak konnfigurasi. mpdf sangat cocok untuk keperluan basic report.

/* Create PDF File*/

            $pdfFilePath = FCPATH."/reports/".$this->data['id_list'].".pdf"; //tentukan nama file dan lokasi report yang akan kita buat

                $tgl_cetak = date('d F Y H:i:s');
                ini_set('memory_limit','32M');

                $html = $this->load->view('cetak_pdf',$this->data,true); // menyimpan hasil HTML ke variabel $html

                $this->load->library('pdf');
                $pdf = $this->pdf->load();
                $pdf->SetFooter(base_url().'|{PAGENO}|'.$tgl_cetak);
                $pdf->WriteHTML($html); // generate file pdf dari $html
                $pdf->Output($pdfFilePath, 'F'); // save ke direktori $pdfFilePath

            //----------------------- EOF ------------------

avatar welldone
@welldone

66 Kontribusi 45 Poin

Dipost 7 tahun yang lalu

Kalo saya load lebih dari 2 page gmna gan ? misal ada 3 view body . header , sama footer . yang di jadiin variabel $html nya gmna ?

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

File berhasil ke save tapi muncul banyak error di controlernya gan ini errornya

A PHP Error was encountered

Severity: 8192

Message: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

Filename: includes/functions.php

Line Number: 96

Backtrace:

File: C:\xampp\htdocs\ci\application\third_party\mpdf\includes\functions.php
Line: 96
Function: preg_replace

File: C:\xampp\htdocs\ci\application\third_party\mpdf\mpdf.php
Line: 30666
Function: strcode2utf

File: C:\xampp\htdocs\ci\application\third_party\mpdf\mpdf.php
Line: 12824
Function: purify_utf8

File: C:\xampp\htdocs\ci\application\controllers\Welcome.php
Line: 29
Function: WriteHTML

File: C:\xampp\htdocs\ci\index.php
Line: 315
Function: require_once

file pdf berhasil ke save

![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/file pdf.jpg)

controllernya

	public function index()
	{
	    $pdfFilePath = FCPATH."/downloads/test.pdf";
		ini_set('memory_limit','32M');

		$html = $this->load->view('welcome_message','',true);
		$this->load->library('pdf');
		$pdf = $this->pdf->load();
		$pdf->WriteHTML($html);
		$pdf->Output($pdfFilePath, 'f');
	}
}

kalo biasanya ane pake mpdf sebelum di save ada previewnya dulu gan , gimana caranya ya ? and ilangin errornya biar bisa ke redirect waktu abis save , thanks

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

Controller :

$data['header'] = $this->load->view('view_header','',true);
$data['body'] = $this->load->view('view_body','',true);
$data['footer'] = $this->load->view('view_footer','',true);

$this->load->view('view_gabung',$data);

View :

<html>
    <body>
        <?=$header;?>
        <?=$body;?>
        <?=$footer;?>
    <body>
</html>

avatar welldone
@welldone

66 Kontribusi 45 Poin

Dipost 7 tahun yang lalu

CI nya versi berapa ? saya pake CI 2.x dan PHP 5.4 tidak ada error. belum pernah saya coba di CI 3.x

avatar welldone
@welldone

66 Kontribusi 45 Poin

Dipost 7 tahun yang lalu

masih versi 2.* kayanya gan , ntar di rumah ane cuba lagi, kalo di preview sebelum di save gimana gan ?

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

SOLVED . untuk metode penggunaan MPDF Solved sama agan @welldone

untuk error nya solved di forum ini -- > https://github.com/carlholmberg/mpdf/issues/1

intinya ada sedikit yang kita harus ubah di function bawaan mpdf nya

$str = preg_replace_callback('/&#([0-9]+)\;/m', function($m){ return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/&#([0-9]+)\;/m', function($m){ return codeHex2utf($m[1],$lo);}, $str);

thanks

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

Satu lagi, Buat preview sebelum save bisa ganti ini

$pdf->Output($pdfFilePath, 'I');

Yang sebelumnya ini

$pdf->Output($pdfFilePath, 'F');

buat ngehemat drive. jadi di save kalo perlu aja, and save nya ke komputer user bukan ke host kita

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

gan mau tanya, kalau pake composer apakah masih di buat lagi di library di folder library nya apa tidak ? soalnya ada muncul error seperti ini !! <pre> An uncaught Exception was encountered Type: TypeError

Message: Argument 1 passed to Mpdf\Mpdf::__construct() must be of the type array, string given, called in /Applications/XAMPP/xamppfiles/htdocs/mpdf/application/controllers/Test.php on line 10

Filename: /Applications/XAMPP/xamppfiles/htdocs/mpdf/vendor/mpdf/mpdf/src/Mpdf.php

Line Number: 998

Backtrace:

File: /Applications/XAMPP/xamppfiles/htdocs/mpdf/application/controllers/Test.php Line: 10 Function: __construct

File: /Applications/XAMPP/xamppfiles/htdocs/mpdf/index.php Line: 315 Function: require_once </pre>

avatar richard1701
@richard1701

1 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban