Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mPDF生成并保存多个pdf文件_Php_Codeigniter_Pdf_Codeigniter 3_Mpdf - Fatal编程技术网

Php 使用mPDF生成并保存多个pdf文件

Php 使用mPDF生成并保存多个pdf文件,php,codeigniter,pdf,codeigniter-3,mpdf,Php,Codeigniter,Pdf,Codeigniter 3,Mpdf,我有一个使用mPDF库生成单个PDF文件的代码。但当我尝试一次生成2个pdf并尝试下载这些文件时,它不会生成第二个文件 以下是代码: function download($id) { $this->load->library('m_pdf'); // download annexC form $this->annexc($id); // download resident form $t

我有一个使用mPDF库生成单个PDF文件的代码。但当我尝试一次生成2个pdf并尝试下载这些文件时,它不会生成第二个文件

以下是代码:

function download($id)
    {
        $this->load->library('m_pdf');

        // download annexC form
        $this->annexc($id);

        // download resident form
        $this->resident($id);
    }

function annexc($id)
    {
        $data1['udata'] = $this->general_model->getUserDetail($id);
        // mprd($data);
        $name1 = str_replace(' ', "-", strtolower($data1['name']));
        $time1 = time();
        $file_name1 = $name1.$time1.$id.'-Annexc-Form';
        $html1 = $this->load->view('annexc/form_download', $data1, true);
        $pdfFilePath1 = SAVE_PDF_ANNEXC.$file_name1.".pdf";
        $this->m_pdf->pdf->SetDisplayMode('fullpage');
        $this->m_pdf->pdf->WriteHTML($html1);
        $this->m_pdf->pdf->Output(SAVE_PDF_ANNEXC.$file_name1.".pdf", "F");
    }

    function resident($id)
    {
        $data['udata'] = $this->general_model->getUserDetail($id);
        $name = str_replace(' ', "-", strtolower($data['name']));
        $time = time();
        $file_name = $name.$time.$id.'-Residential-Form';
        $html = $this->load->view('resident/form_download', $data, true);
        $file_name = trim($file_name);
        $pdfFilePath = SAVE_PDF_RESIDENT.$file_name.".pdf";
        $this->m_pdf->pdf->SetDisplayMode('fullpage');
        $this->m_pdf->pdf->defaultfooterfontstyle='';
        $this->m_pdf->pdf->defaultfooterfontsize=12;
        $this->m_pdf->pdf->defaultfooterline=0;
        $this->m_pdf->pdf->setFooter('{PAGENO}');
        $this->m_pdf->pdf->WriteHTML($html);
        $this->m_pdf->pdf->Output($pdfFilePath, "F");
    }

当我调用download()时,它将成功创建annexc pdf,但对于second resident(),它将创建数据与annexc表单相同的pdf。为什么会这样?我应该做哪些更改?

您正在调用相同的模型函数

$data['udata'] = $this->general_model->getUserDetail($id);
然后用不同的名字重复相同的结果

$html1 = $this->load->view('annexc/form_download', $data1, true);
$html = $this->load->view('resident/form_download', $data, true);

即使视图的样式不同,您也会在这两个视图上得到相同的结果。

您调用的是相同的模型函数

$data['udata'] = $this->general_model->getUserDetail($id);
然后用不同的名字重复相同的结果

$html1 = $this->load->view('annexc/form_download', $data1, true);
$html = $this->load->view('resident/form_download', $data, true);

即使视图的样式不同,您也会在这两个视图上得到相同的结果。

谷歌搜索后,这里是答案:

取消设置旧HTML和mpdf对象并创建新对象。


以下是谷歌搜索后的答案:

取消设置旧HTML和mpdf对象并创建新对象。


那么解决办法是什么呢?我应该叫它一次吗?那么解决办法是什么呢?我应该叫它一次吗?完美的解决方案!非常完美的解决方案!伟大的