myLogger = \Config\Services::mylogger(); } public function saveForm() { // Get JSON input $data = $this->request->getPost(); // For testing: just return the received data return $this->respond([ 'status' => 'success', 'message' => 'Form data received successfully!', 'data' => $data ]); } public function testcli() { echo "hi"; $this->myLogger->logme('error', "test log"); echo "hi 2"; log_message('error', 'test message for log_message_function'); echo "hi 3"; } public function generatePDF() { // Sample data - replace with your actual data source $data = [ 'NAME' => 'John Doe', 'GENDER' => 'Male', 'DOB' => '01/01/1990', 'RELATION' => 'Self', 'POLICY_NO' => 'POL123456789', 'TPA_ID' => 'TPA987654321', 'POLICY_START_DATE' => '01/01/2024', 'POLICY_DATE' => '31/12/2024', 'INSURER_NAME' => 'ABC Insurance Co.', 'TPA_NAME' => 'XYZ TPA Ltd.', 'FRONT_CARD' => base_url('assets/images/front-card.jpg'), // Your card images 'BACK_CARD' => base_url('assets/images/back-card.jpg'), 'LEVELS' => 'Level 1: 1800-XXX-XXXX
Level 2: support@company.com' ]; // Load the HTML template $html = $this->loadTemplate($data); // Configure DomPDF options $options = new Options(); $options->set('isRemoteEnabled', true); // Enable loading of remote images $options->set('isHtml5ParserEnabled', true); $options->set('isPhpEnabled', true); $options->set('debugPng', false); $options->set('debugKeepTemp', false); $options->set('debugCss', false); $options->set('debugLayout', false); $options->set('debugLayoutLines', false); $options->set('debugLayoutBlocks', false); $options->set('debugLayoutInline', false); $options->set('debugLayoutPaddingBox', false); // Initialize DomPDF $dompdf = new Dompdf($options); // Load HTML content $dompdf->loadHtml($html); // Set paper size and orientation $dompdf->setPaper('A4', 'landscape'); // or 'portrait' // Render PDF $dompdf->render(); // Output PDF to browser $filename = 'ecard_' . date('Y-m-d_H-i-s') . '.pdf'; $dompdf->stream($filename, ['Attachment' => true]); // Set to false for inline view } public function viewPDF() { // Same as generatePDF but with inline view $data = [ 'NAME' => 'Korukonda Naga Venkata Ramalinga Satya Swarna Kumari', 'GENDER' => 'Male', 'DOB' => '01/01/1990', 'RELATION' => 'Self', 'POLICY_NO' => '97000034230400000109_EX_Parental', 'TPA_ID' => 'TPA987654321', 'POLICY_START_DATE' => '01/01/2024', 'POLICY_DATE' => '31/12/2024', 'INSURER_NAME' => 'ZURICH KOTAK GTNERAL INSURANCE COIIPANY lNDlA LIMITED', 'TPA_NAME' => 'HealthIndia Insurance TPA Services Pvt. Ltd.', 'FRONT_CARD' => base_url() .('public/uploads/template_bg/Nhance_Ecard_working_1_front_3.png'), 'BACK_CARD' => base_url() . ('public/uploads/template_bg/Nhance_Ecard_working_1_Back_3.png'), 'LEVELS' => 'Level 1: 1800-XXX-XXXX
Level 2: support@company.com' ]; $data2 = [ 'NAME' => 'John Doe', 'GENDER' => 'Male', 'DOB' => '01/01/1990', 'RELATION' => 'Self', 'POLICY_NO' => 'POL123456789', 'TPA_ID' => 'TPA987654321', 'POLICY_START_DATE' => '01/01/2024', 'POLICY_DATE' => '31/12/2024', 'INSURER_NAME' => 'ABC Insurance Co.', 'TPA_NAME' => 'XYZ TPA Ltd.', 'FRONT_CARD' => base_url() .('public/uploads/template_bg/Nhance_Ecard_working_1_front_3.png'), 'BACK_CARD' => base_url() . ('public/uploads/template_bg/Nhance_Ecard_working_1_Back_3.png'), 'LEVELS' => 'Level 1: 1800-XXX-XXXX
Level 2: support@company.com' ]; $employeeController = new EmployeeController(); // $html = $employeeController->generateIDCardForEmployeeUsingDom('LfpH3R'); $html = $this->loadTemplate($data2); // print_r($html); die; $options = new Options(); $options->set('isRemoteEnabled', true); $options->set('isHtml5ParserEnabled', true); $dompdf = new Dompdf($options); // $dompdf->loadHtml($html); $dompdf->loadHtml('' . $html); $dompdf->setPaper('A4', 'portrait'); // $dompdf->setPaper('A4', 'landscape'); $dompdf->render(); $filename = 'ecard_' . date('Y-m-d_H-i-s') . '.pdf'; // $dompdf->stream($filename, ['Attachment' => true]); // Inline view $dompdf->stream($filename, ['Attachment' => false]); // Force download } private function loadTemplate($data) { // Load your HTML template $template = file_get_contents(WRITEPATH . 'e_card_template/common.html'); // Replace placeholders with actual data foreach ($data as $key => $value) { $template = str_replace('{' . $key . '}', $value, $template); } return $template; } // not using and not working public function viewPdfUsingMpdf() { $data = [ 'NAME' => 'Korukonda Naga Venkata Ramalinga Satya Swarna Kumari', 'GENDER' => 'Male', 'DOB' => '01/01/1990', 'RELATION' => 'Self', 'POLICY_NO' => '97000034230400000109_EX_Parental', 'TPA_ID' => 'TPA987654321', 'POLICY_START_DATE' => '01/01/2024', 'POLICY_DATE' => '31/12/2024', 'INSURER_NAME' => 'ZURICH KOTAK GTNERAL INSURANCE COIIPANY lNDlA LIMITED', 'TPA_NAME' => 'HealthIndia Insurance TPA Services Pvt. Ltd.', 'FRONT_CARD' => base_url('public/uploads/template_bg/Nhance_Ecard_working_1_front_3.png'), 'BACK_CARD' => base_url('public/uploads/template_bg/Nhance_Ecard_working_1_Back_3.png'), 'LEVELS' => 'Level 1: 1800-XXX-XXXX
Level 2: support@company.com' ]; $html = $this->loadTemplate($data); // Load mPDF $mpdf = ""; // $mpdf = new \Mpdf\Mpdf([ // 'mode' => 'utf-8', // 'format' => 'A4', // 'margin_left' => 0, // 'margin_right' => 0, // 'margin_top' => 0, // 'margin_bottom' => 0, // 'tempDir' => __DIR__ . '/writable/mpdf' // ]); // Optional: Stretch background or images fully // $html = ' // ' . $html; // $mpdf->WriteHTML($html); // // Output inline (no download prompt) // $filename = 'ecard_' . date('Y-m-d_H-i-s') . '.pdf'; // $mpdf->Output($filename, 'D'); /* 'I' = inline view in browser (no download prompt). 'D' = force download. 'F' = save to file. 'S' = return as string. */ } }