【问题标题】:PDF is not downloading in FPDFPDF 未在 FPDF 中下载
【发布时间】:2018-10-11 04:24:33
【问题描述】:

当用户提交表单时,我有一个简单的表单,我将表单数据从 ajax 发送到我的 pdf 生成代码所在的控制器,但在成功调用 ajax 后,PDF 没有下载

这是我的控制器代码

    $temp=TempInvoice::where('id',$id)->get();
    $pdf = PDF::loadView('pages.pdf', ['data'=>$temp]);
    $pdf->download('invoice.pdf');

还有我的 javascript ajax

 var data2=result
      $.ajax({
        type: 'POST',
        url: '/tyre/api/pdf',
        data: {data:j},
        success: function (data) {

            console.log(data);

        },
      })

你能帮我解决这个问题吗? (对于正常请求它工作正常,但对于 ajax 请求它不会工作) 你能帮我解决任何问题还是我应该先提交表格然后生成pdf?

请让我知道您想从我这边得到的任何意见,

任何提示或cmets

【问题讨论】:

  • 您的回复在哪里?喜欢return Response::download(.......
  • 这就像 return $pdf->download('invoice.pdf');它不起作用
  • 所以我删除了退货声明
  • 发送数据必须使用post吗??

标签: php laravel fpdf


【解决方案1】:

将此代码替换为$pdf->download('invoice.pdf');

return $pdf->stream('invoice.pdf')
->header('Content-Type','application/pdf');

使用stream 函数和header

另一种方式(根据我的评论使用return

 $pdf = PDF::loadView('pages.pdf', ['data'=>$temp]);
return $pdf->download('invoice.pdf'); 

最后:确保您正确配置包。 Reference for package configuration

【讨论】:

  • 作为回报,我得到了类似的东西
  • %PDF-1.3 1 0 obj > endobj 2 0 obj > endobj 3 0个对象
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-29
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多