下载PDF文件,而不是使用CodeIgniter显示它

时间:2015-06-03 09:03:19

标签: php codeigniter pdf download

我使用CodeIgniter和R&OS pdf class生成PDF文件。 但现在问题是pdf会显示给浏览器。 我想要下载它。 这是我的代码:

$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();  

此控制器发送文件以供下载时缺少什么?

2 个答案:

答案 0 :(得分:1)

您可以将参数传递给函数ezStream

$this->cezpdf->ezStream(array $options);

$options 'compress' => 0/1启用压缩功能。对于压缩级别,请在第一点使用$this->options['compression'] =。默认值:1 'download' => 0/1显示内联(在浏览器中)或下载。默认值:0

答案 1 :(得分:0)

您可以使用下载帮助https://ellislab.com/codeigniter/user-guide/helpers/download_helper.html

$this->load->helper('download');
$data = $this->cezpdf->ezStream(); 
force_download("PDF_filename.pdf", $data); 

您还可以通过设置正确的标头值来使用输出变量。

$this->output->set_header('Content-Disposition: attachment; filename="PDF_filename.pdf"');
$this->output->set_content_type('application/pdf')
             ->set_output($this->cezpdf->ezStream());

此处将内容类型设置为 appication / pdf ,以便浏览器识别内容为pdf,内容处理:附件强制下载文件。

希望这会有所帮助。抱歉英语不好。