繁体   English   中英

pdf (mpdf) 文件在 javascript 中损坏

[英]pdf (mpdf) file gets corrupted in javascript

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

但是如果我将它发送到浏览器php $mpdf->Output($filename, \Mpdf\Output\Destination::DOWNLOAD); 并在 jquery 回调中获取 output 执行以下操作(借用自https://nehalist.io/downloading-files-

jQuery.post(my_axax_url, data, function(data) {
  var blob = new Blob([data], { type: 'application/pdf' });
  var l = document.createElement('a');
  l.href = window.URL.createObjectURL(blob);
  l.download = 'test.pdf';
  document.body.appendChild(l);
  l.click();
});

下载的 pdf 是空的(空白页),并且作者信息已损坏(看起来像是编码问题)。 我跑了https://www.datalogics.com/products/pdftools/pdf-checker/ ,它只给了我 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');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM