pdf(mpdf)文件在javascript中损坏

pdf(mpdf)文件在javascript中损坏,javascript,php,pdf,blob,mpdf,Javascript,Php,Pdf,Blob,Mpdf,我有一个web应用程序,需要动态生成PDF。数据收集在javascript中,并通过post请求发送到服务器。这里mpdf用于生成pdf。如果我在本地保存文件:php$mpdf->Output($filename,\mpdf\Output\Destination::file)它可以工作 但是如果我把它发送到浏览器php$mpdf->Output($filename,\mpdf\Output\Destination::DOWNLOAD)并获取jquery回调中的输出,以执行以下操作(借用自): j

我有一个web应用程序,需要动态生成PDF。数据收集在javascript中,并通过post请求发送到服务器。这里mpdf用于生成pdf。如果我在本地保存文件:
php$mpdf->Output($filename,\mpdf\Output\Destination::file)它可以工作

但是如果我把它发送到浏览器
php$mpdf->Output($filename,\mpdf\Output\Destination::DOWNLOAD)
并获取jquery回调中的输出,以执行以下操作(借用自):

jQuery.post(my_axax_url、数据、函数(数据){
var blob=new blob([data],{type:'application/pdf'});
var l=document.createElement('a');
l、 href=window.URL.createObjectURL(blob);
l、 下载='test.pdf';
文件.正文.附件(l);
l、 单击();
});
下载的pdf是空的(空白页),并且已经损坏了作者信息(这使得它看起来像是编码问题)。我跑了,这只给了我javascript生成的pdf是一个“损坏的文档”

我希望这是一个容易的问题。我习惯于php和文本文档,而不是pdf


谢谢

尝试在php脚本的开头添加以下内容,这可能是某种编码问题:

ob_clean();
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="test.pdf"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');