Я использую Kohana 3 и pdfview / DOMPDF для генерации файлов pdf, но они генерируются с 0 байтами и типом text / plain mime.
Контроллер:
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');
}
}
Просмотр:
<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>
Когда я загружаю файл и открываю его в epdfview (средство просмотра PDF), он говорит:
Unable to open document
File type plain text document (text/plain) is not supported
Я просто не знаю, что не так.Спасибо.
ОБНОВЛЕНИЕ:
Я скачал последнюю бета-версию и DOMPDF, удалил модуль pdfview Kohana и сделал что-то подобное в моем контроллере:
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));
}
}
Теперь работает.Спасибо!