SetFont('helvetica', '', 8); $dateEtHeure = date("d/m/Y H:i:s"); $this->Cell(80, 10, $this->headerData, 0,0,'L',false,''); $this->SetX(110); $this->Cell(80, 10, 'Edition du : '.$dateEtHeure, 0,0,'R',false,''); $this->Ln(10); } public function setHeaderData($title) { $this->headerData = $title; } function Footer() { $this->SetY(-15); $this->SetFont('Arial', 'I', 8); $this->Cell(0, 10, 'Page ' . $this->PageNo(), 0, 0, 'C'); } // function CreateTable($header, $data) { // // Table header // $this->SetFont('Arial', 'B', 10); // foreach ($header as $col) { // $this->Cell(30, 10, $col, 1); // } // $this->Ln(); // // Table data // $this->SetFont('Arial', '', 10); // foreach ($data as $row) { // foreach ($row as $col) { // $this->Cell(30, 10, $col, 1); // } // $this->Ln(); // } // } function PageTitle($title) { // Set background color // Set font and font size $this->SetFont('Arial', 'B', 16); // Calculate the width of the title $titleWidth = $this->GetStringWidth($title); // Calculate the X coordinate to center the title $x = (210 - $titleWidth) / 2; // Assuming standard page width (210 units) // Move to the calculated X coordinate $this->SetX($x); // Add the centered title $this->Cell($this->w/2, 15, $title, 1, 0, 'C', false); } function AddTableHeader() { // Set background color for the table header $this->SetFillColor(226, 238, 253); // RGB values for blue $this->SetTextColor(0, 0, 0); // RGB values for white text $this->SetFont('Arial', 'B', 12); // Create table header cells $this->Cell(190, 10, 'Conditions particulieres', 1, 0, 'C', true); $this->Ln(); // Reset background color and text color for the content $this->SetFillColor(255, 255, 255); // Reset to default white background $this->SetTextColor(0, 0, 0); // Reset to default black text } function AddTableRow($col1, $col2) { // Add data to the table $this->Cell(40, 10, $col1, 1); $this->Cell(45, 10, $col2, 1); $this->Cell(40, 10, $col1, 1); $this->Cell(45, 10, $col2, 1); } function CreateTableConditionParticulieres($data, $x, $y,$borderColor, $verticalColor, $horizontalColor) { $this->SetX($x); $this->SetFont('Arial', '', 10); // Set the border color // Header row with blue background $this->SetFillColor(226, 238, 253); // $this->SetTextColor(0); // White text $this->SetFont('Arial', 'B', 10); $this->Cell(190, 7,'CONDITIONS PARTICULIERES ', 1, 1, 'C', true); $this->SetDrawColor($borderColor[0], $borderColor[1], $borderColor[2]); // Set vertical border color // $this->SetDrawColor($verticalColor[0], $verticalColor[1], $verticalColor[2]); // $this->Ln(); // Move to the next line for the data // Reset colors and font for data rows $this->SetFillColor(255); // Reset background color $this->SetTextColor(0); // Reset text color $this->SetFont('Arial', '', 10); foreach ($data as $row) { // Set horizontal border color // $this->SetDrawColor($horizontalColor[0], $horizontalColor[1], $horizontalColor[2]); for ($i = 0; $i < count($row); $i++) { $this->Cell(95, 7, $row[$i], 1); } $this->Ln(); // Move to the next line for the next row } // Reset the border color to default (black) $this->SetDrawColor(0, 0, 0); } function convert_utf8($text){ return iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $text); } function CreatePrimeTableHeader() { $this->SetFillColor(226, 238, 253); // Blue color for the header background $this->SetFont('Arial', 'B', 8); // Create header cells $headers = array($this->convert_utf8("Période d'assurance"), 'Prime nette', 'Prime additionnelle', 'Accessoires', 'Taxe', 'Prime totale'); foreach ($headers as $header) { $this->Cell(32, 10, $header, 1, 0, 'C', true); // Border around each cell with blue background } $this->Ln(); // Move to the next line for the data } function CreatePrimeTable() { // Set font and fill color $this->SetFont('Arial', '', 8); $this->SetFillColor(255); // Reset fill color to white // Sample data for the table $data = array($this->convert_utf8('01/01/2022 - 31/12/2022'), '168 544 682', '0', '600 000', '5 074 340', '174 219 022'); // Create data cells foreach ($data as $cell) { $this->Cell(32, 8, $cell, 1); // $this->MultiCell(0, 10, $cell); } $this->Ln(); // Move to the next line for the next row } function CreateTablePrimeTerme($header, $data) { // Set font $this->SetFont('Arial', 'B', 12); // Add table header foreach ($header as $col) { $this->Cell(40, 10, $col, 1); } $this->Ln(); // Move to the next line for data // Set font back to regular $this->SetFont('Arial', '', 12); // Add table data foreach ($data as $row) { foreach ($row as $col) { $this->Cell(40, 10, $col, 1); } $this->Ln(); // Move to the next line for the next row } } } // Example data $header = array('Assuré(e)', 'Matricule', 'Matricule souscripteur', 'Nom','Prénoms','Satut','Genre','Date de naissance',"Date d'effet"); // Create PDF $pdf = new PDF(); $pdf->SetAuthor('EBENE SOLUTIONS INFORMATIQUES'); $userPassword = ''; $ownerPassword = null; $pdf->SetProtection(['print'], $userPassword, $ownerPassword); $pdf->setHeaderData($title); // Add page title $pdf->SetMargins(10, 10, 10); $pdf->AddPage(); // Create the four columns table // $pdf->CreateTable($data, 10); // Header row (add empty line after header) // $pdf->PageTitle('Your Page Title'); // $pdf->CreateTable($header, $data); // Add table header // $pdf->AddTableHeader(); // Add table rows // $pdf->AddTableRow('Data 1', 'Data A'); // Sample data for the two columns table $data = array( array('Compagnie: SANLAM ASSURANCE', 'Nature de risque: SANTE GROUPE '), array('Code Compagnie : 114', 'Data 4'), array($pdf->convert_utf8('Intermédiaire: ASSUREUR CONSEILS'), 'Data 6'), array($pdf->convert_utf8('Code Intermédiaire: 29'), 'Data 6'), array("Souscripteur: FONDS D'ENTRETIEN ROUTIER", 'Data 6'), array($pdf->convert_utf8('Numéro de compte:4315'), 'Data 6'), array('Adresse postale: 04 BP 3089 Abidjan 04', 'Data 6'), array($pdf->convert_utf8('Numéro police: 3023 8180000007 '), '') // Add more rows as needed ); // Set the border color (e.g., red) $borderColor = array(255, 255, 255); // Set the colors for vertical and horizontal borders $verticalColor = array(255, 0, 0); // Red $horizontalColor = array(0, 0, 0); // Blue $pdf->CreateTableConditionParticulieres($data, 10, $pdf->GetY(),$borderColor,$verticalColor, $horizontalColor); $pdf->Cell(190, 7,$pdf->convert_utf8('PRIME AU COMPTANT (à régler à la signature des présentes) '), 0, 1, 'C', true); // Create the blue header $pdf->CreatePrimeTableHeader(); // Create a row with sample data $pdf->CreatePrimeTable(); require("piedfacturetest.php");