CodeIgniter: вызов функции-члена WriteHTML() для необъекта

Я получаю эту ошибку при загрузке файла PDF с использованием MPDF. Я загружаю код здесь ниже:

    $html = $this->load->view('customer/case_report',$this->data, true);
    $pdfFilePath = "output_pdf_name.pdf";
    $this->load->library('M_pdf');
    $this->M_pdf->pdf->WriteHTML($html);
    $this->M_pdf->pdf->Output('CaseReport_CaseNo_'.$caseNo.'.pdf', 'D');

ОБНОВЛЕНИЕ Прикрепление скриншота здесь: Код WriteHTML в строке № 34

Любая помощь будет оценена. Спасибо

2 ответа

Хорошо, я смоделировал случай и что работал следующим образом

Загруженная библиотека из библиотеки mPDF с использованием Codeigniter

Поместил это в application/third_party. Создал файл M_pdf.php в приложении / библиотеках

<?php
  if (!defined('BASEPATH')) exit('No direct script access allowed');
  include_once APPPATH.'/third_party/mpdf/mpdf.php';

  class M_pdf {

    public $param;
    public $pdf;
    public function __construct($param = "'c', 'A4-L'")
    {
      $this->param =$param;
      $this->pdf = new mPDF($this->param);
    }
 }
?>

Создана функция Test в My Controller для проверки. Сначала я пытался сохранить его и получил ошибку вроде

ошибка

Но затем я заменяю переключатель F в Output на D для загрузки

public function mdfTest()
{
  $pdfFilePath = time()."_order.pdf";
  $this->load->library('M_pdf');
  $html="<html><h1>This is test pdf</h1></html>";
  $this->m_pdf->pdf->WriteHTML($html);

  //download it.
  $this->m_pdf->pdf->Output($pdfFilePath, "D");

}

И это сработало. Создан файл PDF как

PDF файл, созданный mPDF

Имя файла: библиотеки /M_pdf.php
Имя папки: Third_party/ MPDF

include_once APPPATH. '/ third_party/ mpdf / mpdf.php';

class M_pdf {

public $param;
public $pdf;

public function __construct($param = '"en-GB-x","A4","","",10,10,10,10,6,3')
{
    $this->param =$param;
    $this->pdf = new mPDF($this->param);
}

}

Файл контроллера

    public function pdf_create()
    {
        $this->load->library('M_pdf');
        $pdffile = time()."_order.pdf";
        $this->m_pdf->pdf->WriteHTML("My First Codeigniter in First Pdf 
        Create.");
        $this->m_pdf->pdf->Output($pdffile, "I");
    }

Другие вопросы по тегам