tcpdf создает документ pdf.html в сафари (Mac)
Tcpdf генерирует pdf как filename.pdf.html в Safari Mac и загружает его как html-файл, а не как pdf-файл. Какие параметры я должен установить, чтобы загрузить его в PDF в Safari?
Он работает нормально во всех других браузерах.
Вот моя функция:
$pdf_content = $libTcpdf->downloadReceipt((string) $view->render());
$pdf_content->Output("Receipt.pdf", 'D');
HTML страница хранится в представлении.
В tcpdf.php (библиотека tcpdf)
case 'D': {
// download PDF as file
if (ob_get_contents()) {
$this->Error('Some data has already been output, can\'t send PDF file');
}
header('Content-Description: File Transfer');
if (headers_sent()) {
$this->Error('Some data has already been output to browser, can\'t send PDF file');
}
header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1');
//header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
// force download dialog
if (strpos(php_sapi_name(), 'cgi') === false) {
header('Content-Type: application/force-download');
header('Content-Type: application/octet-stream', false);
header('Content-Type: application/download', false);
header('Content-Type: application/pdf', false);
} else {
header('Content-Type: application/pdf');
}
// use the Content-Disposition header to supply a recommended filename
header('Content-Disposition: attachment; filename="'.basename($name).'"');
header('Content-Transfer-Encoding: binary');
$this->sendOutputData($this->getBuffer(), $this->bufferlen);
break;
}
Тип контента установлен на application/pdf.