【问题标题】:html2pdf download pdf with ajaxhtml2pdf 用ajax下载pdf
【发布时间】:2014-06-26 12:55:04
【问题描述】:

我使用 html2pdf 从 wordpress 帖子(在多站点安装中)生成 pdf,效果很好我有以下设置:

在我的主页上我有一个链接

<a target="_blank" id="downloadPDF" href="<?php echo get_template_directory_uri(); ?>/pdf_processor.php?blogid=<?php echo get_current_blog_id(); ?> ">download</a>

在我的 pdf_processor.php 上,pdf 按预期生成,我使用 `

$html2pdf->Output('exemple.pdf', 'D');

使用“D”允许直接下载我想要的 pdf。

现在我想通过 ajax 调用生成 pdf(这样我可以在等待时显示加载图标),我已经尝试使用 jquery 设置 ajax 调用,将get_current_blog_id(); 发布到pdf_processor.php,我不知道'不知道如何处理响应,以便当 ajax 调用成功时触发 $html2pdf-&gt;Output('exemple.pdf', 'D');,我尝试了

echo $html2pdf->Output('exemple.pdf', 'D');

但这只是返回一个奇怪的字符串。

【问题讨论】:

  • 您无法使用 Ajax 下载二进制文件。 Ajax 仅适用于基于文本的内容,例如 XML 和 HTML。但是,有一个 JQuery 插件可以执行您想要的操作:请参阅 stackoverflow.com/questions/2186562/…
  • 嘿,谢谢你的回答,我现在会调查一下。
  • 您好,您建议的插件运行良好,谢谢。我还有一个小问题。我怎么能想在点击时附加一个旋转的 gif 并在调用返回成功后将其删除,从插件代码示例中我看不到如何向它添加回调以在成功时删除我的旋转 gif,任何提示?谢谢

标签: php jquery ajax html2pdf


【解决方案1】:

使用“F”将文件保存在服务器上,然后打开文件。如果您尝试通过 javascript 提醒它,'D' 总是会返回一些不可读的字符串。

$html2pdf->Output('D:\xampp\htdocs\frescoframes12/My-File-Name.pdf','F');

【讨论】:

    猜你喜欢
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    相关资源
    最近更新 更多