Я использую Kohana 3 и pdfview/DOMPDF для генерации PDF-файлов, но они сгенерированы с 0 байтами и текстовым/простым типом mime.DOMPDF: файлы с 0 байтами и текст/простой тип 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
Я просто дон Не знаю, что случилось. Спасибо.
UPDATE:
Я скачал последнюю бета-версию и DOMPDF, удален модуль в pdfview Кохана и сделал что-то подобное в мой контроллер:
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));
}
}
Теперь он работает. Благодаря!
ли вы следовать инструкциям по установке? Также попробуйте открыть файл в редакторе, чтобы узнать, что такое фактический контент. Вы можете проверить, есть ли ошибка, вызвав '$ pdfview-> render()' перед тем, как назначить ее как ответ запроса. – shadowhand