1

Thema: PDF dyn. erzeugen

HiHo,

jetzt hab ich mal ne Frage ;o) Ich möchte mittels PHP eine PDF Datei erzeugen. Es soll damit die Rechnungstellung für ein Produkt dynamisch erzeugt werden. Das Ganze sollte am besten via Templatedateien funktionieren, in die dann dyn. der jweilige Inhalt (Rechnungsanschrift, Nr, etc.) eingefügt wird.

Welche Module gibts für diese Aufgabe und habt Ihr evtl. Beispiele parat?

Danke schon mal!

Hannes

_______________________________________________________________

/-/annes (j|g) ... http://www.jg-webdesign.de

2

Re: PDF dyn. erzeugen

Hi Hannes,

in nem älteren Thread wurde mal diese URL gepostet:
http://www.fpdf.org/

Ich hab mir das Ding noch nich angesehen, aber evtl. tut's ja das, was Du willst <img src="/forum/images/graemlins/smile.gif" alt="" />

HTH, tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

3

Re: PDF dyn. erzeugen

Thx Tink,

hab ich auch schon rausgesucht ... Das Teil wäre schön anzuwenden, allerdings konnte ich keine Möglichkeit zum Arbeiten mit Templates finden.  Wenn es da ein entsprechendes Modul geben würde, wäre das schön ;o)

lg
Hannes

_______________________________________________________________

/-/annes (j|g) ... http://www.jg-webdesign.de

4

Re: PDF dyn. erzeugen

Hi ihr zwei,

ich hab kürzlich mit der fpdf gearbeitet und ... mal abgesehen davon, dass es eine ziemliche rumfrickerei war, was zustandezubringen ... lief alles prima.

Ich weiß nicht, was du hier mit Templates meinst. Wenn du via WYSIWYG (also Acrobat o.ä.) ein Template erstellen möchtest kann ich dir für den Moment nicht weiterhelfen.

Wenn du allerdings einen PHP-Code, der ein PDF generiert als Teplate betrachtest, dann ist das kein Problem.

Ich hab mal mein "Template" etwas zusammengestaucht. Lad dir die Klasse runter und die HTML-Extension und lass einfach mal laufen...

 <?php
 
 // externe Variablen waeren:
 
 $name = 'Stefan Meier';
 $street_address = 'Straßengasse 123';
 $zip_code = '56285';
 $city = 'Hinterbach';
 $country = 'Teutschlant';
 $username = 'stemei';
 $password = 'G4e2_tR2pi9';
 
 // ein paar Layout-Vars:
 
 $font_family         = "Arial";
 $font_size_text      = 11;
 $font_size_absender  = 8;
 $font_size_anschrift = 11;
 
 // Anschrift zusammensetzen
 
 $anschrift = "$namen$street_addressn$zip_code $cityn$country";
 
 // Der Text des Briefes
 
 $text = '<b>Deine Zugangsdaten für den Gruppenbereich XYZ</b><br><br><br>
 
 Hallo '.$name.'<br><br>
 
 Hiermit erhältst du deine Zugangsdaten für <a href="www.example.com/groupXZY">den Gruppenbereich XYZ</a>.<br><br>
 
 Liebe Grüße,<br>
 Hannes';
 
 // Und dann das ganze Zeug zusammenschrauben...
 
 define('FPDF_FONTPATH','font/');
 require('fpdf.php');
 require('fpdf_html_extension.php');
 
 $pdf=new PDF();
 $pdf->Open();
 $pdf->AddPage();
 $pdf->SetLeftMargin(25);
 $pdf->SetRightMargin(20);
 $pdf->SetFont($font_family,"",$font_size_text);
 $pdf->MultiCell(0,5,"Johannes GamperlnLanger Weg 1n12345 Bayernn09876 - 12 23 34 - 0ninfo@jg-webdesign.de",0,'R');
 $pdf->SetFont($font_family,"U",$font_size_absender);
 $pdf->SetXY(25,52);
 $pdf->Write(5,'Johannes Gamperl, Langer Weg 1, 12345 Bayern');
 $pdf->SetFont($font_family,"",$font_size_anschrift);
 $pdf->SetXY(25,58);
 $pdf->Write(5,$anschrift);
 $pdf->SetXY(25,97.5);
 $pdf->WriteHTML($text);
 $pdf->SetDrawColor(0,0,255);
 $pdf->SetFillColor(200,200,255);
 $pdf->SetXY(25,150);
 $pdf->Cell(40,5,"Benutzername:",1,0,'',1);
 $pdf->Cell(40,5,$username,1,1,'',1);
 $pdf->Cell(40,5,"Passwort:",1,0,'',1);
 $pdf->Cell(40,5,$password,1,1,'',1);
 
 // Ausgabe
 
 $pdf->Output();
 ?>
 

Zugegebenermaßen hatte ich keine Zeit, mich ausführlicher mit PDF bzw. der FPDF-Klasse zu beschäftigen. Es ist halt konzeptlos zusammengehackt und brchte aber das gewünschte Ergebnis.

Basti