在 codeigniter 中调用 ajax 时使用 mpdf 生成 PDF
Generate PDF using mpdf on ajax call in codeginiter
这个问题可能是重复的,但我没有找到针对此类错误的有效答案。我的代码在不使用 ajax 的情况下运行良好,但如果使用 ajax.
则会出错
$this->load->library('m_pdf');
$this->data['title']="Sales Report PDF";
$this->data['description']="Sales report in PDF format";
$data = $this->get_sales_report_for_pdf();
$html=$this->load->view('dashboard/sales_report_pdf',$data, true);
$pdfFilePath ="Salesreport-".time()."-download.pdf";
$pdf = $this->m_pdf->load();
$pdf->WriteHTML($html,2);
$pdf->Output($pdfFilePath, "D");
有谁知道如何解决这个问题吗??
请替换
$pdf->Output($pdfFilePath, "D");
到
$pdf->Output($pdfFilePath, "F");
因为D
是下载,ajax不会提供UI下载文件所以放F
保存
文件路径应该有效
$pdfFilePath ="Salesreport-".time()."-download.pdf";
喜欢
$pdfFilePath =FCPATH."upload/Salesreport-".time()."-download.pdf";
因此它将按给定名称保存到 upload
文件夹中。
注意:你不能通过ajax下载它会报错。
- 在 $pdf->Output();
中使用 "F"
- return 您保存的文件名,并在 ajax 中调用您保存文件的 url。
$this->load->library('m_pdf');
$this->data['title']="Sales Report PDF";
$this->data['description']="Sales report in PDF format";
$data = $this->get_sales_report_for_pdf();
$html=$this->load->view('dashboard/sales_report_pdf',$data, true);
$pdfFilePath ="Salesreport-".time()."-download.pdf";
$pdf = $this->m_pdf->load();
$pdf->WriteHTML($html,2);
$pdf->Output(FCPATH.$pdfFilePath, "F");
return $pdfFilePath;
在 Ajax 响应中
location.href = 你的路径。'filename.pdf';
这个问题可能是重复的,但我没有找到针对此类错误的有效答案。我的代码在不使用 ajax 的情况下运行良好,但如果使用 ajax.
则会出错 $this->load->library('m_pdf');
$this->data['title']="Sales Report PDF";
$this->data['description']="Sales report in PDF format";
$data = $this->get_sales_report_for_pdf();
$html=$this->load->view('dashboard/sales_report_pdf',$data, true);
$pdfFilePath ="Salesreport-".time()."-download.pdf";
$pdf = $this->m_pdf->load();
$pdf->WriteHTML($html,2);
$pdf->Output($pdfFilePath, "D");
有谁知道如何解决这个问题吗??
请替换
$pdf->Output($pdfFilePath, "D");
到
$pdf->Output($pdfFilePath, "F");
因为D
是下载,ajax不会提供UI下载文件所以放F
保存
文件路径应该有效
$pdfFilePath ="Salesreport-".time()."-download.pdf";
喜欢
$pdfFilePath =FCPATH."upload/Salesreport-".time()."-download.pdf";
因此它将按给定名称保存到 upload
文件夹中。
注意:你不能通过ajax下载它会报错。
- 在 $pdf->Output(); 中使用 "F"
- return 您保存的文件名,并在 ajax 中调用您保存文件的 url。
$this->load->library('m_pdf'); $this->data['title']="Sales Report PDF"; $this->data['description']="Sales report in PDF format"; $data = $this->get_sales_report_for_pdf(); $html=$this->load->view('dashboard/sales_report_pdf',$data, true); $pdfFilePath ="Salesreport-".time()."-download.pdf"; $pdf = $this->m_pdf->load(); $pdf->WriteHTML($html,2); $pdf->Output(FCPATH.$pdfFilePath, "F");
return $pdfFilePath;
在 Ajax 响应中 location.href = 你的路径。'filename.pdf';