Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TCPDF how to set two text color?

Tags:

php

tcpdf

Currently I am trying to customize the whmcs invoice pdf. They have this following code

    # Payment Status
$endpage = $pdf->GetPage();
$pdf->setPage($startpage);
$pdf->SetXY(85,$addressypos);
if ($status=="Cancelled") {
    $statustext = $_LANG["invoicescancelled"];
    $pdf->SetTextColor(245,245,245);
} elseif ($status=="Unpaid") {
    $statustext = $_LANG["invoicesunpaid"];
    $pdf->SetTextColor(204,0,0);
} elseif ($status=="Paid") {
    $statustext = $_LANG["invoicespaid"];
    $pdf->SetTextColor(153,204,0);
} elseif ($status=="Refunded") {
    $statustext = $_LANG["invoicesrefunded"];
    $pdf->SetTextColor(34,68,136);
} elseif ($status=="Collections") {
    $statustext = $_LANG["invoicescollections"];
    $pdf->SetTextColor(255,204,0);
}
$pdf->SetFont('freesans','B',12);
$pdf->Cell(110,20,strtoupper($statustext),0,0,'C');
$pdf->setPage($endpage);

?>

This code produce this format,

For example, if paymenet is "Unpaid", code produce this echo statement

UNPAID (with red color)

so what I am trying to do is, I would like to add this text "Status:" infront of "UNPAID" so for example, when echo out, it will become like this

"Status: UNPAID"

I can get it by adding this code

} elseif ($status=="Unpaid") {
        $statustext = $_LANG["statustext"];
    $statustext = $_LANG["invoicesunpaid"];
    $pdf->SetTextColor(245,245,245);

But because of this code

$pdf->SetTextColor(245,245,245);

Status: becomes (Red) as well.

What can I achieve to get Status: text black and UNPAID remained as "RED".

Please kindly point me out. Thank you.

like image 700
knightrider Avatar asked Oct 25 '25 18:10

knightrider


1 Answers

I have achieved different texts with setting the text color before I need to write something with: $pdf->SetTextColor(0,0,0);

Here is an example of my code: (the actual text being written is outside of this if statement, but I change the backgroung of the text and therefore I need to change the text color to be visible )

    if ($row_cnt > ($sticker_count / 2)) {
        $pdf->SetTextColor(0,0,0);
        $pdf->ImageSVG($file='images/sticker_29072013.svg', $xsi, $ysi, $w='60', $h='30', $link='', $align='', $palign='', $border, $fitonpage=false);
        $pdf->ImageSVG($file='images/qr_29072013.svg', $xqi, $yqi, $w='30', $h='30', $link='', $align='', $palign='', $border, $fitonpage=false);
    }
    else {
        $pdf->SetTextColor(255,255,255);
        $pdf->ImageSVG($file='images/blacksticker_29072013.svg', $xsi, $ysi, $w='60', $h='30', $link='', $align='', $palign='', $border, $fitonpage=false);
        $pdf->ImageSVG($file='images/blackqr_29072013.svg', $xqi, $yqi, $w='30', $h='30', $link='', $align='', $palign='', $border, $fitonpage=false);
    }
like image 53
kdobrev Avatar answered Oct 27 '25 07:10

kdobrev