Я использую Yii Framework, TCPDF и jQuery для генерации pdf.
PDF создается путем ввода в форму и отправки его с помощью ajax.
PDF создан, но вот проблема, когда он возвращается клиенту, он не загружается.
вот PHP-код $pdf->Output('Folder Label.pdf','D');
функция jQuery on success имеет success: function(data) { window.open(data); }
success: function(data) { window.open(data); }
Что я получил с этого сайта.
Не могли бы вы помочь
Если проблема в том, что вы не получаете диалоговое окно загрузки браузера для PDF-файла, то решение должно сделать это следующим образом:
Во-первых, перенаправить браузер (используя window.location
как говорят другие ответы), чтобы перейти к специальному действию контроллера в вашем приложении, например, с этим URL-адресом: http://your.application.com/download/pdf/filename.pdf
.
Внесите действие, указанное в URL-адресе, как показано ниже:
public function actionPdf() { header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="filename.pdf";'); header('Content-Length: '.filesize('path/to/pdf')); readfile('path/to/pdf'); Yii::app()->end(); }
Это заставит браузер загружать файл.
Вам нужно сохранить PDF-файл где-нибудь на своем сервере, а затем выпустить window.location = '/url/to/pdf-you-just-saved.pdf';
из вашего javascript. Затем пользовательский браузер предложит им загрузить файл PDF.
Не совсем, это вызовет ошибки в некоторых браузерах, это правильный способ установить расположение окна.
window.location.assign( downloadUrlToPdf );
Так
в tcpdf, просто передайте этот аргумент методу вывода:
$pdf->Output('yourfilename.pdf', 'D');
это все