Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

PDF_setcolor

PDF-Funktionen

    Befehl:
bool PDF_setcolor ( resource $p , string $fstype , string $colorspace , float $c1 , float $c2 , float $c3 , float $c4 )


    Beschreibung:
Setzt den aktuellen Farbraum und die aktuelle Farbe. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.


    Aktiv in Version:
(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_setcolor() - Beispiel


Eingabe:
<?php

$cmyk = '10,20,100,31';
list($c, $m, $y, $k) = explode(',', $cmyk);

# Ruf die rgb als floats (cast via (int) wenn sie wollen int )
$r = (1 - min(($c / 100) * (1 - $k /= 100) + 1 * $k, 1)) * 255;
$g = (1 - min(($m / 100) * (1 - $k) + 1 * $k, 1)) * 255;
$b = (1 - min(($y / 100) * (1 - $k) + 1 * $k, 1)) * 255;

echo "$r $g $b\r\n";

# Converts the rgb to hex with leading 0's
$r = str_pad(dechex($r), 2, '0', STR_PAD_LEFT);
$g = str_pad(dechex($g), 2, '0', STR_PAD_LEFT);
$b = str_pad(dechex($b), 2, '0', STR_PAD_LEFT);

echo "hex: $r$g$b\r\n";

/* ein Beispiel, um die Farbe via html sehen
echo '<div style="width: 80px; height: 80px; background-color: #', "$r$g$b", '"></div>';
*/
?>

PDF_setcolor() - Beispiel 2


Eingabe:
<?
function hex2rgb($hex) {
  $color = str_replace('#','',$hex);
  $rgb = array('r' => hexdec(substr($color,0,2)),
               'g' => hexdec(substr($color,2,2)),
               'b' => hexdec(substr($color,4,2)));
  return $rgb;
}

function rgb2cmyk($var1,$g=0,$b=0) {
   if(is_array($var1)) {
      $r = $var1['r'];
      $g = $var1['g'];
      $b = $var1['b'];
   }
   else $r=$var1;
   $cyan    = 255 - $r;
   $magenta = 255 - $g;
   $yellow  = 255 - $b;
   $black   = min($cyan, $magenta, $yellow);
   $cyan    = @(($cyan    - $black) / (255 - $black)) * 255;
   $magenta = @(($magenta - $black) / (255 - $black)) * 255;
   $yellow  = @(($yellow  - $black) / (255 - $black)) * 255;
   return array('c' => $cyan / 255,
                'm' => $magenta / 255,
                'y' => $yellow / 255,
                'k' => $black / 255);
}

$color=rgb2cmyk(hex2rgb('#FF0000'));
pdf_setcolor($pdf, "both", "cmyk", $color['c'], $color['m'], $color['y'], $color['k']);
?>

PDF_setcolor() - Beispiel 3


Eingabe:
<?
function pdf_setcolor_hex($hexcolor, $type = '')
{
    global $pdf;     ## match this to your pdf resource handle
       $color['r'] = hexdec(substr($hexcolor, 0, 2))/255;
       $color['g'] = hexdec(substr($hexcolor, 2, 2))/255;
       $color['b'] = hexdec(substr($hexcolor, 4, 2))/255;
       if ($type != 'fill' && $type != 'stroke')  $type = 'both';
       pdf_setcolor($pdf, $type, 'rgb', $color['r'], $color['g'], $color['b']);
}
?>

Beispiel Nutzung:
<?
pdf_setcolor_hex('FFFFFF', 'fill');
?>

PDF_setcolor() - Beispiel 4


Eingabe:
<?php

// Pfad für die pdf-Datei und String zu zeigen
$pdfFilePath = $_SERVER[DOCUMENT_ROOT]."/the_dir_of_the_file/test.pdf";
$string = "Die neue Farbe meiner Schrift";

$pdf = pdf_new();
pdf_open_file($pdf, $pdfFilePath);
pdf_set_info($pdf, "Title", "Test pdf");
// A4 page
pdf_begin_page($pdf, 595, 842);

// Einrichten der Schrift
$font = pdf_findfont($pdf, "Courier", "host", FALSE);
    if (isset($font)) {
       pdf_setfont($pdf, $font, 10) or die ("unknown font");
    }

pdf_setColor($pdf, "fill", "rgb",0, 0, 1);
// dies für blaue Farbe
// pdf_setColor($pdf, "fill", "rgb",1, 0, 0) for red

pdf_set_value($pdf, "textrendering", 0);
// zeigt an der Spitze der Mittelpunkt der Seite
pdf_show_boxed($pdf, $string, 0, 832, 595, 10, "center", "");

// setzt Grafikzustand
pdf_initGraphics($pdf);
// Ende der Seite und pdf_object
pdf_end_page($pdf);
pdf_close($pdf);
pdf_delete($pdf);

// Header verwenden, um die Datei herunterzuladen
header("Content-type: application/pdf");
header("Content-length: ".filesize($pdfFilePath));
header("Content-disposition: inline; filename=test.pdf");
readfile($pdfFilePath);
?>

PDF-Funktionen