Verläufe in PDF (mit fpdf)

DiDiJo

Erfahrenes Mitglied
Hi Leute,

ich bastel gerade an einem Tool wo man sich online Zeitungen generieren lassen kann. Die ganze Sache läuft schon wunderbar und ich bin gerade an der Optimierungsphase, in der sich teilweise Sachen verbessere oider komplett umstricke.

So habe ich beispielsweise mal geplant gehabt, dass ich die Farb-kombis vorgebe und somit auch immer Preview-bilder für die einzelenen Seitenlayouts in den jeweiligen Farben anlegen muss. Jetzt wo ich kurz vor dem ende bin habe ich keine lust mehr auf dieses prizip weil es einfach kaum zu plegen ist. Und wenn ich dann mal nen neues Seitenlayout hinzufüge, muss ich immer 20 BIlder auf einmal in verschiedenen Farben erzeugen

ich hab mir nun überlegt, dass ich die Seiten alle in einem schönen langweiligen grau gestalte und die Highlightfarbe kann jeder für sich selber einstellen. Ich hab mir dafür schon so ein Farbnfeldwähler besorgt und eingebaut und ich kriege auch schon die HEXA-Farbwerte in RGB Werte umgewandelt.

Nun wollte ich mal anfangen dynamische Verläufe in meine PDFS zu packen. Dafür hab ich mir folgende FPDF Erweiterung besorgt und wie folgt eingebaut:
http://www.fpdf.de/downloads/addons/72/

Da ja die generierung funktioniert liste ich hier eben nur die wichtigsten Schritte auf:

header.php:
PHP:
require 'fpdf/fpdf.php';
require 'fpdf/fpdi.php';
require 'html2pdf/html2pdf.class.php';
require 'classes/gradients.php';

zeitung.php:
PHP:
[...]
$pdf=new FPDF('P', 'cm', array(21.6,30.3));		
$pdf->AddFont('ARIALN','','ARIALN.php');
$pdf->AddFont('FunctionCond','','FunctionCond.php');
$pdf->AddFont('LUCIDA_CALLI','','LUCIDA_CALLI.php');
$pdf->AddFont('FUTURAM','','FUTURAM.php');

$pdf->AddPage();
$pdf->SetAutoPageBreak(false, 0);		
$pdf->SetMargins(0, 0);

und irgendwoe wird folgendes ausgeführt:
PHP:
function PDF_foramt($obj, $x, $y, $settings){			
	global $pdf;			

	//HintergrundBild
	$pdf->SetXY($x, $y);
	$pdf->Image('pics/layouts/IMMO_1_6/box_bg_hq_'.$settings['COLOR'].'.jpg', $x, $y, $w, $h);
	#$pdf->Cell($w, $h, "", 1);
	
	
	$pdf_verlauf = new PDF_Gradients();
	
	$white=array(255);	
	$blue=array(0, 0, 200);
	
	$coords=array(0, 0, 1, 0);
	//paint a linear gradient
	$pdf->Cell($w, $h, "", 0);
	$pdf->LinearGradient($x, $y, $w, $h, $white, $blue, $coords);

        // oder ..
        $pdf_verlauf->LinearGradient($x, $y, $w, $h, $white, $blue, $coords);

}


Aber irgendwie kriege ich die Erweiterung nicht implementiert. Es apssiert rinffdach nix, obwohl ich es genauso eingebunden habe wie auf der selfphp Seite. Und ich rufe das ganze über $pdf->LinearGradient(...) auf, da ich gedacht habe, dass ich mit:
PHP:
class PDF_Gradients extends FPDF{

die Klasse erweitert habe ...

mfg

DiDi
 
Zurück