DOM PDF не работает при загрузке файла вида Codeigniter - PullRequest
0 голосов
/ 31 декабря 2011

Я пытаюсь создать PDF-файл, используя DOM pdf и Codeigniter. У меня есть следующий скрипт в моем контроллере, и я сохранил папку DOM внутри моего контроллера. Но когда я запускаю скрипт, я получаю фатальное сообщение об ошибке.

Но когда я отправляю значение из моей модели в $ html DOMPDF, который находится в моем контроллере ... Я могу сгенерировать pdf.

Не могли бы вы помочь мне, как избавиться от этой ошибки?

    include_once('dompdf/dompdf_config.inc.php'); 
    $html= $this->load->view('view_pdf');
    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->set_paper("a4", "landscape" ); 

    $dompdf->render();
    $dompdf->stream("my_pdf.pdf", array("Attachment" => 0));   

Это мой файл просмотра;

<html>
 <head>
<style>
    #header { position: absolute; left: 0; top: -50px; right: 0; height: 140px; text-align:  center;  }
    #footer {position: fixed ; left: 0px; bottom: -20px; right: 0px; height: 30px; font-size:10; }
    #footer .page:after { content: counter(page, upper-roman); }


        #table-6 {
        width: 100%
        border: 1px solid #B0B0B0;
        }
        #table-6 tbody {
        /* Kind of irrelevant unless your .css is alreadt doing something else */
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        font-size: 100%;
        vertical-align: baseline;
        background: transparent;
        }


        #table-6 td {
        padding: 3px 10px;
        font-size: 12px;
        font-weight: normal;
        text-align:center;
        }
        #table-6 tr:nth-child(even) {
        background: #F2F2F2;
        font-size: 12px;
        font-weight: normal;
        }




 </style>

  </head>

    <body>


     This is a test 
    </body>

    </html>

1 Ответ

2 голосов
/ 04 января 2012

Согласно документации CodeIgniter для представлений вы должны изменить свой вызов load-> view (), чтобы данные возвращались в виде строки в контроллер, а не передавались в веб-браузер. Попробуйте изменить код вашего контроллера следующим образом:

include_once('dompdf/dompdf_config.inc.php');
$html= $this->load->view('view_pdf','',true);
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("a4", "landscape" );

$dompdf->render();
$dompdf->stream("my_pdf.pdf", array("Attachment" => 0));

Единственное изменение, которое я сделал, это добавление необходимых параметров в $this->load->view().

(я не использую CodeIgniter. У каких-нибудь пользователей CI есть что добавить?)

...