views:

26

answers:

0

Hi, I'm using Kohana 3 and pdfview/DOMPDF to generate pdf files but they are generated with 0 bytes and text/plain mime-type.

Controller:

public function action_pdf() {
    if(isset($_POST['dados'])) {
        $pdf = View_PDF::factory('export/pdf');
        $pdf->title = '';
        $pdf->headers = array();
        $pdf->data = array();

        $this->request->response = $pdf;
        $this->request->send_file(true, 'dados.pdf');
    }
}

View:

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <style type="text/css">
        * {
            border: 0;
            margin: 0;
            padding: 0;
        }

        table {
            border: 1px solid;
            border-collapse: collapse;
            margin: 0 auto;
            text-align: center;
            width: 500px;
        }

        td {
            border: 1px solid;
            padding: 5px;
        }
        </style>
    </head>
    <body>
        <h1>Teste</h1>
        <table>
            <tr></tr>
        </table>
    </body>
</html>

When I download the file and open it in epdfview (PDF viewer), it says:

Unable to open document
File type plain text document (text/plain) is not supported

I just don't know what's wrong. Thank you.

UPDATE:

I downloaded the last beta version and of DOMPDF, deleted the pdfview Kohana's module and did something like that in my controller:

public function action_pdf() {
        if(isset($_POST['dados'])) {
            require_once(Kohana::find_file('vendor', 'dompdf/dompdf_config.inc'));

            $view = View::factory('report/pdf');
            $view->title = '';
            $view->data = array();

            $pdf = new DOMPDF();

            $pdf->load_html($view->render());
            $pdf->render();
            $pdf->stream('dados.pdf', array('Attachment' => 1));
        }
    }

Now it's working. Thanks!