anzeige

FPDF fehler


Seite: 1 2
Autor Beitrag
Achtzig
15.02.10 - 13:05:44 Uhr

CoreFonts[$fontkey] (CoreFonts['helveticaB']) scheint nicht definiert zu sein. Lasse Dir doch mal CoreFonts ausgeben.
compinfo
15.02.10 - 13:54:13 Uhr

  1. Courier  
  2. Courier-Bold  
  3. Courier-Oblique  
  4. Courier-BoldOblique  
  5. Helvetica  
  6. Helvetica-Bold  
  7. Helvetica-Oblique  
  8. Helvetica-BoldOblique  
  9. Times-Roman  
  10. Times-Bold  
  11. Times-Italic  
  12. Times-BoldItalic  
  13. Symbol  
  14. ZapfDingbats  
  15. FPDF error: Undefined font: helvetica B  


Das hilft leider net weiter...
Achtzig
15.02.10 - 14:18:59 Uhr

  1. <?php  
  2. if(isset($this->CoreFonts[$fontkey]))    
  3. {  
  4. //...    
  5. }    
  6. else    
  7.   $this->Error('Undefined font: '.$family.' '.$style);    
  8. ?>  
  9.  


Die Fehlermeldung kommt doch von hier, oder? Und die CoreFonts werden wie folgt gesetzt:

  1. <?php  
  2. $this->CoreFonts=array('courier'=>'Courier''courierB'=>'Courier-Bold''courierI'=>'Courier-Oblique''courierBI'=>'Courier-BoldOblique',  
  3.         'helvetica'=>'Helvetica''helveticaB'=>'Helvetica-Bold''helveticaI'=>'Helvetica-Oblique''helveticaBI'=>'Helvetica-BoldOblique',  
  4.         'times'=>'Times-Roman''timesB'=>'Times-Bold''timesI'=>'Times-Italic''timesBI'=>'Times-BoldItalic',  
  5.         'symbol'=>'Symbol''zapfdingbats'=>'ZapfDingbats');  
  6. ?>  


Als Pascal-Programmierer kenne ich mich leider nicht so gut mit den PHP-Klassen aus aber irgendwie habe ich den Verdacht, daß der Fehler im Konstruktor liegt. Falsche Initialisierung der Oberklasse. Allerdings dürfte CoreFonts dann wohl gar nichts enthalten. Ist es denn richtig, die Oberklasse mit $this->fpdf = new FPDF; zu initialisieren? Bei Pascal würde ich so quasi nur eine Instanz von FPDF erstellen.

Entschuldige bitte, daß ich hier nur rumrate. Sicherlich wissen andere da wesentlich besser Bescheid, weswegen ich mich erstmal ausklinke und einen Blick in die PHP-Klassen-Hilfe riskiere

Nachtrag:

Mein Verdacht ist wohl begründet. Schau Dir mal das an

http://www.php.net/manual/de/language....decon.php

Demnach müßtest Du die Oberklasse mit parent::__construct(); initialisieren, da Du PDF von FPDF ableitest. ... Andersrum hat die FPDF keinen Konstruktor. Hmm. Ich lese noch ein bisschen weiter.

...

Was ist denn, wenn Du anstatt "$this->CoreFonts" "$this->fpdf->CoreFonts" verwendest?
compinfo
15.02.10 - 16:05:57 Uhr

Hey, weisst du schon das neuste Achtzig?
Du bist Klasse (Wortspiel)

Logisch, arrg! Schade das ich nicht darauf gekommen bin. Ich hab eben erst gerade mit Klassen begonnen.

Vielen Dank
Achtzig
15.02.10 - 16:09:42 Uhr

Gern geschehen. Ich hatte schon die Befürchtung, ich rede mich hier um Kopf und Kragen

Nachtrag: Die Instanz $this->fpdf brauchst Du aber nicht, da Deine Klasse schon alles von FPDF geerbt hat. Aber das kannst Du dann ja immer noch anpassen.
Seite: 1 2

- Obige Beiträge stellen keine Äußerung oder Meinung von Pytal oder dessen Betreiber dar -