У меня есть это значение HTML, и я устанавливаю значение по умолчанию " Check Weighted "
<input type="hidden" id="total_weight" name="total_weight" value="Check Weighted" readonly="readonly">
<button type="submit" name="generate_pdf">Generate</button>
Приведенное выше значение HTML может измениться на " OK " или " Проверка Взвешенная".Если «ОК», css будет делать ставку на зеленый и красный цвет фона css для «Проверить взвешенный»
Проблема возникает в TCPDF, где мне нужно установить цвет фона стиля css на основе значения HTML выше.
Я пробовал несколько способов, но цвет фона в стиле css не загружался в TCPDF.цвет не показан
Мой код, как показано ниже:
if(isset($_POST['generate_pdf']))
{
$total_weight = $_POST['total_weight'];
if($total_weight == "Check Weighted")
{
$total_weight = "<td style='background-color:#red;'>Checked Weight</td>";
}
else if ($total_weight == "OK")
{
$total_weight = "<td style='background-color:#green;'>OK</td>";
}
// INITIALIZE
// create new PDF document
require_once('tcpdf/tcpdf.php');
// create new PDF document
$pdf = new TCPDF('L', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Susan');
$pdf->SetTitle('Title');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, 'Title');
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// ---------------------------------------------------------
// set font
$pdf->SetFont('helvetica', 'B', 12);
// add a page
$pdf->AddPage();
$pdf->SetFont('helvetica', '', 6);
// INITIALIZE
$tbl = <<<EOD
<table border="0">
<tr>
<th style="font-size:10px"><strong><u>TOTAL WEIGHT</u></strong></th>
</tr>
</table>
<table border="1" style="padding:5px 0 5px 5px">
<thead>
<tr nobr="true">
<th>Total Weight</th>
</tr>
</thead>
<tbody>
<tr nobr="true">
$total_weight
</tr>
</tbody>
</table>
EOD;
$pdf->writeHTML($tbl, true, false, false, false, '');
$pdf->Output('Title', 'I');
}
И я попытался добавить оператор if внутри таблицы, но тоже не сработал.
Код:
if(isset($_POST['generate_pdf']))
{
$total_weight = $_POST['total_weight'];
// INITIALIZE TCPDF
$tbl = <<<EOD
<table border="0">
<tr>
<th style="font-size:10px"><strong><u>TOTAL WEIGHT</u></strong></th>
</tr>
</table>
<table border="1" style="padding:5px 0 5px 5px">
<thead>
<tr nobr="true">
<th>Total Weight</th>
</tr>
</thead>
<tbody>
<tr nobr="true">
EOD;
if($total_weight == "Check Weighted")
{
$tbl = <<<EOD
<td style="background-color:#red;">Check Weighted</td>
EOD;
}
else if ($total_weight == "OK")
{
$tbl = <<<EOD
<td style="background-color:#green;">OK</td>
EOD;
}
$tbl = <<<EOD
</tr>
</tbody>
</table>
EOD;
$pdf->writeHTML($tbl, true, false, false, false, '');
$pdf->Output('Title', 'I');
}
Я что-то упустил?
Спасибо, если кто-то может помочь мне решить эту проблему.
Спасибо.