Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to download PDF File Generated from TCPDF (PHP) using AJAX (jQuery)?

I am using Yii Framework, TCPDF and jQuery to generate a pdf.

The pdf is generated by inputing in a form and submitting it using ajax.

The pdf is created but here is the problem when it returns to the client, it down not download.

here is the php code $pdf->Output('Folder Label.pdf','D');

the jQuery on success function has success: function(data) { window.open(data); }

Which i got from this site.

Can you please help

like image 581
Wenceslaus D'silva Avatar asked Mar 31 '11 13:03

Wenceslaus D'silva


2 Answers

If the problem is that you are not getting the browser's download dialog for the PDF, then the solution is to do it this way:

First, redirect the browser (using window.location as the other answers say) to navigate to a special controller action in your application, e.g. with this url: http://your.application.com/download/pdf/filename.pdf.

Implement the action referenced in the URL like this:

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();
}

This will cause the browser to download the file.

like image 159
Jon Avatar answered Oct 03 '22 08:10

Jon


You need to save the PDF to somewhere on your server and then issue window.location = '/url/to/pdf-you-just-saved.pdf'; from your javascript. The users browser will then prompt them to download the PDF file.

like image 45
Treffynnon Avatar answered Oct 03 '22 08:10

Treffynnon