2016-04-13 2 views
1

Мне нужно знать, почему dompdf не передает PDF-файл в браузере перед загрузкой в ​​сети ip, как 192.168.1.77, но работает на localhost.dompdf stream pdf в браузере с использованием localhost, но не в сети ip

при использовании IP-сети, он просто сразу загрузить файл, он не будет отображаться в формате PDF Предварительный просмотр в браузере

Я использую DOMPDF версии 0.6.2 это мой код

$dompdf = new DOMPDF(); 
    ob_start(); 

    $this->load->view('report_me',array_merge($this->sesi,$this->session->userdata('printdata'))); 
    // header('Pragma','public'); 
    $html = ob_get_contents(); 
    ob_end_clean(); 

    // $this->session->unset_userdata('printdata'); 
// $dompdf->set_option('setIsHtml5ParserEnabled', true); 


    $dompdf->load_html($html); 

// (Optional) Setup the paper size and orientation 
// $dompdf->setPaper('A4', 'potrait'); 

// Render the HTML as PDF 
    $dompdf->render(); 
    $canvas = $dompdf->get_canvas(); 
    $font = Font_Metrics::get_font("helvetica", "bold"); 
    $canvas->page_text(44, 760, "Page {PAGE_NUM} of {PAGE_COUNT}", $font, 8, array(0,0,0)); 

//ERASE SESSION 

// Output the generated PDF to Browser 
    $dts = date('Y-m-d'); 
    // $dompdf->output(); 
    // $dompdf->stream(); 
    $dompdf->stream('inv_'.$this->Master_model->getInvoiceNumber().'_'.$dts.'.pdf',array('Attachment'=>0)); 

я уже позволяет

ENABLE_REMOTE

в ИСТИНА

Похоже, я единственный, который столкнуться с проблемой, надеюсь, кто-то может помочь мне через это ..

+0

Итак, вы получаете доступ к одной машине, но результат зависит от того, используете ли вы IP-адрес или нет? Может быть, проблема с браузером? Вы пробовали другой браузер? – BrianS

ответ

0

Вам нужно установить заголовок в верхней части:

header("Content-type: application/pdf"); 

Это должно отображаться в браузере.

Если вы хотите, чтобы загрузить установить заголовок, как это:

header('Content-disposition: attachment; filename='path/to/file/name.pdf'); 
  • это может быть установлено после того, как вы создали PDF и сохранили его где-то
  • NB: путь/к/файлу/name.pdf находится на сервере не на вашем местном компьютере
+0

спасибо за ваш ответ @Samantha, но он по-прежнему не работает для меня. –

+0

как вы вызываете php-файл? для localhost это - http: //localhost/path/to/dompdffile.php, а для удаленного - это http://192.168.1.77/path/to/dompdffile.php –

+0

Я использую codeigniter, который вызывается base_url(). "к/к/файлу /" –

0

Обнаружена аналогичная проблема на Laravel и пыталась добавить заголовки. Не работает.

Я добавил exit; после stream(), и он начал отображаться. Я предполагаю, что структура может делать что-то после stream(), заставляя заголовки возвращаться к text/html.

Смежные вопросы