(gelöst) FPDF Funktionen ?!
Eingetragen von Hacky (255)
am 19.03.2011 - 13:23 Uhr in
am 19.03.2011 - 13:23 Uhr in
Hallo versuch grad mit FPDF ein pdf zu erstellen was auch funktioniert... nun möchte ich mir aber funktionen schreiben .... aber irgendwie will er meine funktion nicht finden ....
sample: Fehler Fatal error: Call to undefined method FPDF::texfield() in C:\xampp\...
kann mir helfen was ich da falsch mache ? :(
gruß hacky
<?php
require('fpdf/fpdf.php');
dsm($node);
class PDF extends FPDF
{
function texfield(){
//TEST
$this->SetFillColor(255, 255, 255);
// x |y|width|hight|fill
$this->Rect(10, 9, 150, 8, 'F');
$this->Text(12,15,$node->title);
$this->SetFont('Arial','B',8);
$this->Text(10,8,"Einsatzstichwort");
}
}
// New PDF
$pdf=new FPDF('P', 'mm', 'A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
//Background
$pdf->SetFillColor(252, 211, 191);
$pdf->Rect(0, 0, 500, 500, 'F');
//funktion Error: Fatal error: Call to undefined method FPDF::texfield() ....
$pdf->texfield();
$dateiname = "sites/default/files/PDF/name.pdf";
$pdf->Output($dateiname, 'F');
?>
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo, ich glaube das liegt
am 19.03.2011 - 14:16 Uhr
Hallo,
ich glaube das liegt daran:
1. ich würde die neue Klasse sprechender benennen:
class myFPDF extends FPDF
2. Dann sollte die Variable entsprechend initialisiert werden, wes in deinem Fall jetzt sowieso NICHT passiert:
$pdf=new myFPDF('P', 'mm', 'A4');
Hope it helps
lg leda
"Du liebst es, Du brauchst es oder Du gibst es weg"
www.leda.ch
Klassen
am 19.03.2011 - 14:53 Uhr
Hallo.
Wie leda schon schrieb: Du erstellst ein Objekt der Klasse "FPDF" und rufst auf diesem Objekt eine Funktion der abgeleiteten Klasse "PDF" auf. Das kann nicht funktionieren.
<?php
$pdf=new PDF('P', 'mm', 'A4');
// ...
?>
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
danke das wars :) gruß hacky
am 19.03.2011 - 14:56 Uhr
danke das wars :) gruß hacky
Ja, wollte gerade das Selbe
am 19.03.2011 - 15:00 Uhr
Ja, wollte gerade das Selbe sagen. Das ist der Fehler...
--------------------------------------------
mein Tech-Blog auf: http://tech.janschaer.ch
Etwas was Du auch schauen
am 19.03.2011 - 15:06 Uhr
Etwas was Du auch schauen musst bei Drupal, ist, dass Du nach dem Output() wenn Du die Datei nicht als File abspeicherst (ich weiss bei Dir ist dies nicht der Fall, aber oft ändert sich das später auch noch) Drupal daran hinderst weiteren Content auszugeben. Bei mir hat das dann sonst immer nach dem Output()-befehl eine Fehlermeldung gegeben (das PDF ist zwar gekommen, aber Fehlermeldungen sind immer unschön...). Be mir sieht das dann zum Beipsiel so aus.
<?php
public function Output() {
// Bereits geschrieben Header-Bytes löschen
ob_clean();
// PDF ausgeben
$this->pdf->Output('Do_EKP_'.date("Y-m-d_H-i",time()).'.pdf', 'D');
// Script abbrechen, damit Drupal nicht versucht weiteren Code auszuführen
$GLOBALS['devel_shutdown'] = FALSE;
module_invoke_all('exit');
exit();
}
?>
--------------------------------------------
mein Tech-Blog auf: http://tech.janschaer.ch
danke für den tipp =) werd
am 20.03.2011 - 10:14 Uhr
danke für den tipp =) werd ich mir merken ! gruß Hacky
joa nun hab ich genau den
am 20.03.2011 - 14:49 Uhr
joa nun hab ich genau den Punkt was du gesagt hast :D
Ich hab das problem das er sagt die Datei wär beschädigt und das PDF lässt sich dann leider nicht öffnen. Woran kann das liegen ?
<?php
$dateiname = 'sites/default/files/PDF/' . $InhaltstypName . $JetztDatumFile . '.pdf';
// Bereits geschrieben Header-Bytes löschen
ob_clean();
// <span class="caps">PDF</span> ausgeben
$pdf->Output($dateiname, 'D');
// Script abbrechen, damit Drupal nicht versucht weiteren Code auszuführen
$GLOBALS['devel_shutdown'] = FALSE;
module_invoke_all('exit');
?>