Add error handling and debug mode for OPD PDF rendering
Added try-catch around mPDF WriteHTML to catch rendering errors.
Changed debug_html mode to output as text/html for better preview.
Logs mPDF errors and returns user-friendly error message.
This will help diagnose blank page issues with {{Tadvise_test_list}} placeholder.
This commit is contained in:
parent
a540581bf9
commit
1ca2dbce4c
|
|
@ -2174,10 +2174,11 @@ class Opd extends BaseController
|
||||||
|
|
||||||
if ($debugHtml) {
|
if ($debugHtml) {
|
||||||
return $this->response
|
return $this->response
|
||||||
->setHeader('Content-Type', 'text/plain; charset=UTF-8')
|
->setHeader('Content-Type', 'text/html; charset=UTF-8')
|
||||||
->setBody($html);
|
->setBody($html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
$mpdf = new Mpdf([
|
$mpdf = new Mpdf([
|
||||||
'mode' => 'utf-8',
|
'mode' => 'utf-8',
|
||||||
'format' => 'A4',
|
'format' => 'A4',
|
||||||
|
|
@ -2203,6 +2204,12 @@ class Opd extends BaseController
|
||||||
->setHeader('Content-Type', 'application/pdf')
|
->setHeader('Content-Type', 'application/pdf')
|
||||||
->setHeader('Content-Disposition', 'inline; filename="' . $fileName . '"')
|
->setHeader('Content-Disposition', 'inline; filename="' . $fileName . '"')
|
||||||
->setBody($mpdf->Output($fileName, 'S'));
|
->setBody($mpdf->Output($fileName, 'S'));
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
log_message('error', 'mPDF rendering failed: ' . $e->getMessage());
|
||||||
|
return $this->response
|
||||||
|
->setStatusCode(500)
|
||||||
|
->setBody('PDF generation failed: ' . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$docPrintSetting = $this->getOpdPaperPrintSetting($templateKey);
|
$docPrintSetting = $this->getOpdPaperPrintSetting($templateKey);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user