我正在尝试使用FPDF创建pdf文件.
我现在拥有的是一个HTML页面,其中包含各种数据行和旁边的打印按钮.当有人点击Print时,我通过调用AJAX来使用Jquery发送相应的数据.
这是我的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,'address: '.$address); $pdf->Output(); ?>
但我不会得到PDF作为回报.怎么了??事实上,没有发生..
我想要检索pdf文件并将其发送到打印
要通过ajax加载PDF,您可以尝试:
>使用一些PDF javascript库直接渲染PDF
没有插件的javascript,如mozilla pdf.js或jspdf.
并尝试查看这些库是否允许您直接设置pdf
二进制数据(你在ajax中收到的).
>另一种选择是接收pdf数据作为base64编码和使用
a Data URI将window.location.href设置为该数据uri,
虽然在这种情况下,PDF可能会作为下载提供
对话框而不是直接在页面中加载,你必须测试
那.对于IE 8中的pdf,数据uri支持也非常有限
较旧的,请参阅维基百科data uri page了解更多详情.
>另请参阅this answer,了解如何加载pdf是不可能的直接从ajax和你有什么其他选择尝试做什么你想要(主要是将pdf保存为服务器上的临时文件并使用它使用window.location.href或< iframe>或者window.open)