如何使用 AJAX (jQuery) 下载从 TCPDF (PHP) 生成的 PDF 文件?
我正在使用 Yii Framework、TCPDF 和 jQuery 生成 pdf。
通过在表单中输入并使用ajax提交来生成pdf。
pdf已创建,但是当它返回到客户端时出现问题,它无法下载。
这是php代码 <代码> $pdf->Output('文件夹标签.pdf','D');
jQuery on success 函数有 <代码> 成功:函数(数据){ 窗口.打开(数据); }
我从这个网站得到的。
你能帮忙吗
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果问题是您没有获得浏览器的 PDF 下载对话框,那么解决方案是这样做:
首先,重定向浏览器(如其他答案所述,使用
window.location
)导航到应用程序中的特殊控制器操作,例如使用以下网址:http://your.application.com/download/pdf/filename.pdf
。像这样实现 URL 中引用的操作:
这将导致浏览器下载文件。
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:
This will cause the browser to download the file.
您需要将 PDF 保存到服务器上的某个位置,然后从 javascript 发出
window.location = '/url/to/pdf-you-just-saved.pdf';
。然后,用户浏览器将提示他们下载 PDF 文件。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.不完全是,这会在某些浏览器上导致错误,这是设置窗口位置。
因此
Not quite, that will cause errors on some browsers, this is the correct way to set the window location.
So
在 tcpdf 中,只需将此参数传递给 Output 方法:
仅此而已
in tcpdf , just pass this argument the Output method:
that's all