我正在使用dompdf库将我的html内容转换为pdf 我正在通过ajax post请求将html内容从视图发送到控制器 在这个控制器中,我调用dompdf helper类将我的html转换为pdf文件并将其保存在客户端。
这是我的ajax请求:
$.ajax({
type: "POST",
url: "<?php echo $this->config->base_url('reports/exportPDF')?>",
data:
{
report : totalHtml
},
success: function (response) {
console.log(response);
},
error: function (err) {
//console.log(err);
}
});
这是我提交html内容的控制器代码:
$this->load->helper('url');
$this->load->helper(array('dompdf', 'file'));
$html = $this->input->post('report');
$data = pdf_create($html);
最后,这是我的dompdf辅助库集成代码:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename='', $stream=TRUE)
{
require_once("dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$htmlData = $dompdf->load_html($html);
$dompdf->set_paper("a4", "landscape" );
$dompdf->render();
$dompdf->stream("report.pdf");
}
?>
根据dompdf文档,应该出现下载对话框,但我无法得到它 我应该如何使用dompdf在客户端保存pdf文件?
提前致谢。
答案 0 :(得分:0)
发送ajax电话会发生什么? 文件在页面内打开或有错误? 我通常会向一个视图发送响应,打开一个新窗口,我将标题设置为二进制文件,强制浏览器打开保存对话框
$this->output->set_header('Content-Type: application/octet-stream');