Keskustelut - PHP - pdf-tiedoston tekstin väri, kun pdf luodaan PDFTable:lla


Gugu 14:49 17.12.07 
Eli olen kopsannu pdf-tiedoston tulostuksen osoitteesta http://www.vanxuan.net/tool/pdftable/

Kaikki toimii niinkuin pitääkin, mutta nyt olis tarvetta lisätä tuohon ominaisuus jolla sais solujen sisällä olevan tekstin väriä muutettua halutuksi. Olen aikani värkännyt, mutta aina tekstin väri vaihtuu koko pdf-tiedostossa, ei siis pelkästään vain yhdessä taulukon solussa.

Olen koittanut laittaa

 $this->SetTextColor(0,0,0);


vähän joka paikkaan, mutta kun ei niin ei. Hirveästi en näitten pdf-tiedostojen kanssa ole värkkäillyt, niin ei oikein tiedä miten tämä pitäis hoitaa.
editoitu: 15:37 17.12.07
Akiro 15:36 17.12.07 
Tuo käyttää näköjään fpdf:ää. Se pitää muuttaa takaisin kans, muutenhan se käyttää sitä sit jatkossa joka paikassa..

Eli rautalankaa:

$pdf->SetTextColor(0,0,0);
$pdf->Write("Tekstiä mustalla");
....
$pdf->SetTextColor(255,255,255);
$pdf->Write("valkosella");
.....
$pdf->SetTextColor(0,0,0);
$pdf->Write("Tekstiä mustalla");
Gugu 07:14 19.12.07 
Aikani ku taistelin, niin johan sain toimiin.
rainmikko 09:42 19.12.07 
Kerro ratkaisu meille muillekin vai oliko ratkaisu tuossa Akiron viestissä?
Gugu 14:02 19.12.07 
Eli ensin lisäsin _tableParser functioon

case 'td':
.
.
.
if (isset($a['width']))      $c['width']   = $a['width'];
if (isset($a['height']))   $c['height']   = $a['height'];

// Tämä siis ottaa <td color="#ccccccc"> tagin sisältä värin
if (isset($a['color']))      $c['color']      = $a['color'];


Sitten functioon _tableWriteRow lisäsin

// Tässä yläpuolella on bgcolor määriteltynä

//txtFill
$txtfill = isset($c['color']) ? $c['color']
      : (isset($table['color'][$i]) ? $table['color'][$i]
      : (isset($table['color'][-1]) ? $table['color'][-1] : 0));
         
if ($txtfill){
   require_once($this->fpdfpath.'color.inc.php');
   $color = Color::HEX2RGB($txtfill);
   $this->SetTextColor($color[0],$color[1],$color[2]);
   $this->issetfont=true;
         
} else{
   require_once($this->fpdfpath.'color.inc.php');
   $this->SetTextColor(0,0,0);
   $this->issetfont=true;
}


Tässä siis kun lisäsin tuon $this->issetfont=true; nuille perään, niin tekstin värin voi määrittää td-solulle. Ilman tuota kaikki tekstit muutui saman väriseksi.