Загрузите PDF-файл вместо того, чтобы отображать его с помощью CodeIgniter


Я создаю PDF-файл с помощью CodeIgniter и класса R&OS 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();  

Чего не хватает этому контроллеру для отправки файла для загрузки?

Author: pollux1er, 2015-06-03

2 answers

Вы можете передать аргумент функции ezStream

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

$options 'compress' => 0/1 чтобы включить сжатие. Для уровня сжатия, пожалуйста, используйте $this->options['compression'] = в самом первом пункте. Значение по умолчанию: 1 'download' => 0/1 для отображения встроенным (в браузере) или в виде загрузки. По умолчанию: 0

 1
Author: Nadeshwaran, 2015-08-07 05:59:23

Вы можете использовать Помощник по загрузке 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());

Здесь, установив тип содержимого в приложение/pdf, чтобы браузер идентифицировал содержимое в формате pdf и Расположение содержимого: вложение принудительно загружает файл.

Надеюсь, это поможет. Извините за плохой английский.

 0
Author: jagad89, 2015-06-03 09:32:52