简体   繁体   中英

Codeigniter mPDF library fails to load

I'm having some little trouble getting the Codeigniter mPDF library to work. Below is the class in 'application/libraries':

class mpdf {

    function mpdf() {
        $CI = & get_instance();
        log_message('Debug', 'mPDF class is loaded.');
    }

    function load($param = NULL) {
        include_once APPPATH . 'third_party/m_pdf/mpdf.php';

        if ($params == NULL) {
            $param = '"en-GB-x","A4","","",10,10,10,10,6,3';
        }

        return new mPDF($param);
    }

}

while my function that is supposed to print out the pdf is as below:

//pdf
    public function outputPDF() {
        //this data will be passed on to the view
        $data['the_content'] = 'mPDF and CodeIgniter are cool!';

        //load the view, pass the variable and do not show it but "save" the output into $html variable
        $html = $this->load->view('pdf_output', $data, true);

        //this the the PDF filename that user will get to download
        $pdfFilePath = "the_pdf_output.pdf";

        //load mPDF library
        $this->load->library('mpdf');
        //actually, you can pass mPDF parameter on this load() function
        $pdf = $this->mpdf->load();
        //generate the PDF!
        $pdf->WriteHTML($html);
        //offer it to user via browser download! (The PDF won't be saved on your server HDD)
        $pdf->Output($pdfFilePath, "D");
    }

Below is the error:

Fatal error: require_once(): Failed opening required 'X:/xampp/htdocs/.../application/third_party/m_pdf/config_cp.php' (include_path='.;X:\\xampp\\php\\PEAR') in X:\\xampp\\htdocs...\\application\\third_party\\m_pdf\\mpdf.php on line 39

Kindly assist

I had the same problem with the library. Now I got it working on my CodeIgniter application.

In order to make it work, I had to put the library folder in the third_party folder (inside application folder). Then I made an autoloader. Inside libraries folder I created this file called Pdf.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Pdf {

    function Pdf()
    {
        $CI = & get_instance();
        log_message('Debug', 'mPDF class is loaded.');
    }

    function load($param=NULL)
    {
        include_once APPPATH.'third_party/mpdf/mpdf.php';

        if ($params == NULL)
        {
            $param = '"en-GB-x","A4","","",10,10,10,10,6,3';         
        }

        return new mPDF($param);
    }
}

Then, you can load the library as CodeIgniter expects:

$this->load->library('pdf');
$pdf = $this->pdf->load();
$pdf->SetFooter($_SERVER['HTTP_HOST'].'|{PAGENO}|'.date(DATE_RFC822)); // Add a footer
$pdf->WriteHTML($html); // write the HTML into the PDF
$pdf->Output($pdfFilePath, 'F'); 

$html is the string containing the html view you want to export. $pdfFilePath is the string path where we are saving our pdf.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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