diff --git a/app/Controllers/Ipd_discharge.php b/app/Controllers/Ipd_discharge.php index 19d63c3..330a0b3 100644 --- a/app/Controllers/Ipd_discharge.php +++ b/app/Controllers/Ipd_discharge.php @@ -7363,54 +7363,39 @@ class Ipd_discharge extends BaseController $mpdf->SetTitle('Discharge Summary - ' . ($patientName !== '' ? $patientName : ('IPD ' . $ipdId))); $mpdf->SetAuthor('Atria HMS'); - // Build mPDF fragment following the exact structure from the mPDF docs: - // \n"; - // If the user wrote their own @page in the CSS, merge by replacing ours (theirs takes precedence). - if ($templateCss !== '' && preg_match('/@page\s*\{/i', $templateCss)) { - // Inject header/footer bindings if missing in the user's @page block. - if ($useHeader && !preg_match('/header\s*:\s*html_myHeader/i', $templateCss)) { - $templateCss = (string) preg_replace_callback('/@page\s*\{/i', function ($m) { - return $m[0] . "\n header: html_myHeader;"; - }, $templateCss, 1); - } - if ($useFooter && !preg_match('/footer\s*:\s*html_myFooter/i', $templateCss)) { - $templateCss = (string) preg_replace_callback('/@page\s*\{/i', function ($m) { - return $m[0] . "\n footer: html_myFooter;"; - }, $templateCss, 1); - } - $pageBlock = ''; // user's CSS already has @page - } - - // Assemble: @page block → template CSS → named header/footer blocks → content. - $pdfHtml = '' . "\n"; - $pdfHtml .= ($templateCss !== '' ? '' . "\n" : ''); if ($useHeader) { $pdfHtml .= '' . "\n" . $headerHtml . "\n" . '' . "\n"; - // show-this-page forces header on page 1 because mPDF adds the first page before @page CSS is processed - $pdfHtml .= '' . "\n"; } if ($useFooter) { $pdfHtml .= '' . "\n" . $footerHtml . "\n" . '' . "\n"; - $pdfHtml .= '' . "\n"; } + + $templateCss = trim((string) ($templateSettings['template_css'] ?? '')); + if ($templateCss !== '') { + $pdfHtml .= '' . "\n"; + } + $pdfHtml .= $renderedHtml; $pdfHtml = mpdf_normalize_font_weight_css($pdfHtml); $pdfBinary = $this->runMpdfWithTolerantWarnings(static function () use ($mpdf, $pdfHtml, $fileName): string {