I am generating PDF file using CodeIgniter and R&OS pdf class. But now the problem is that the pdf is displayed to the browser. I instead want it to be downloaded. Here is my code :
$this->load->library('cezpdf');
$data['users'] = $this->user->get_all_ayant_droits();
foreach($data['users'] as $user) {
$db_data[] = array('name' => $user->nom, 'department' => $user->Department, 'status' => $user->Status);
}
$col_names = array(
'name' => 'Noms et Prenoms',
'department' => 'Département',
'status' => 'Status'
);
$this->cezpdf->ezTable($db_data, $col_names, 'Ayant droit Base Loisirs de Kribi', array('width'=>550));
$this->cezpdf->ezStream();
What is missing for this controller to send the file to download ?
You can pass the argument to the function ezStream
$this->cezpdf->ezStream(array $options);
$options 'compress' => 0/1
to enable compression. For compression level please use $this->options['compression'] =
at the very first point. Default: 1 'download' => 0/1
to display inline (in browser) or as download. Default: 0
You can use Download Helper https://ellislab.com/codeigniter/user-guide/helpers/download_helper.html?
$this->load->helper('download');
$data = $this->cezpdf->ezStream();
force_download("PDF_filename.pdf", $data);
You can also use ouput variable by setting proper header value.
$this->output->set_header('Content-Disposition: attachment; filename="PDF_filename.pdf"');
$this->output->set_content_type('application/pdf')
->set_output($this->cezpdf->ezStream());
here by setting content type to appication/pdf so browser identify content is pdf and Content-Disposition: attachment force to download the file.
Hope this helps. Sorry for poor English.