我使用Yii Framework,TCPDF和jQuery生成pdf。
pdf是通过输入表单并使用ajax提交来生成的。
创建了pdf但是当它返回到客户端时出现问题,而不是下载。
这是php代码
$pdf->Output('Folder Label.pdf','D');
成功函数的jQuery有
success: function(data) {
window.open(data);
}
我从这个网站得到的。
你能帮忙吗
答案 0 :(得分:3)
如果问题是您没有获得PDF的浏览器下载对话框,那么解决方案就是这样做:
首先,重定向浏览器(使用window.location
,如其他答案所示)导航到应用程序中的特殊控制器操作,例如:使用此网址: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();
}
这将导致浏览器下载文件。
答案 1 :(得分:1)
您需要将PDF保存到服务器上的某个位置,然后从您的javascript发出window.location = '/url/to/pdf-you-just-saved.pdf';
。然后,用户浏览器将提示他们下载PDF文件。
答案 2 :(得分:0)
不完全是,这会导致某些浏览器出错,this是设置窗口位置的正确方法。
window.location.assign( downloadUrlToPdf );
所以
答案 3 :(得分:0)
在tcpdf中,只需将此参数传递给Output方法:
$pdf->Output('yourfilename.pdf', 'D');
这就是全部