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');
ОБНОВЛЕНИЕ Прикрепление скриншота здесь:
Любая помощь будет оценена. Спасибо
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 как
Имя файла: библиотеки /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");
}