使用AJAX和Jquery使用FPDF创建pdf

我正在尝试使用FPDF创建PDF文件。

我现在所拥有的是一个包含各种数据行和其旁边的打印按钮的HTML页面。 当有人点击打印,我发送相应的数据使用JQuery的通过使AJAX调用..

这是我的JQUERY代码:

$('.printbtn').live('click', function(){
    var printdata = 'name=' + name_t + '&address=' + address_t;        
    $.post('print.php', printdata, function(){
    });
    return false;
 });

这是print.php

 $name = $_POST['name'];
 $address = $_POST['address'];

 require ("fpdf17/fpdf.php");

 $pdf = new FPDF('P','mm',array(90,100));

 $pdf->AddPage();

 $pdf->SetFont('Arial','B',12);

 $pdf->Cell(0,10,'name: '.$name);
 $pdf->Cell(0,10,'address: '.$address);

 $pdf->Output();

 ?>

但我没有得到PDF的回报。 怎么了?? 事实上,没有发生..我想检索PDF文件并将其发送出版


要通过ajax加载PDF,你可以尝试:

  • 使用一些PDF JavaScript库直接从JavaScript呈现PDF,无需插件,如mozilla pdf.js或jspdf。 并尝试查看这些库是否允许您直接从二进制数据(您在ajax中收到的内容)设置pdf。

  • 另一种选择是接收pdf数据作为base64编码,并使用Data URI将window.location.href设置为该数据uri,但在这种情况下,可能将PDF作为下载对话框提供,而不是直接在页面中加载,你必须测试一下。 在IE 8及更高版本中,对于PDF格式的数据uri支持也非常有限,请参阅维基百科数据uri页面以获取更多详细信息。

  • 另请参阅此答案,了解如何从ajax直接加载pdf,以及您需要尝试做什么的其他选项(主要是将pdf保存为服务器上的临时文件并将其与window.location.href<iframe>window.open


  • 您应该使用带有变量的PHP页面print.php打开一个使用<a>标签的新页面。

    <a href="print.php?data" target="_blank">click me to download the file</a>

    在PHP页面中,添加标题

    // Send Headers
    header('Content-type: application/pdf');
    header('Content-Disposition: attachment; filename="myPDF.pdf');
    
    // Send Headers: Prevent Caching of File
    header('Cache-Control: private');
    header('Pragma: private');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    

    尝试播放头部header('Content-type: application/force-download'); 自动下载你的文件。

    您也可以显示您的PDF数据,如文件已保存readfile('original.pdf');

    链接地址: http://www.djcxy.com/p/11369.html

    上一篇: using AJAX and Jquery to create pdf using FPDF

    下一篇: How do you set up cron task?