# Serienbrief/seriendruck mit PHP (Mysql)



## salo (23. März 2006)

Hallo,
ich habe keine Idee wie man in PHP serienbriefe stellen und ausdrucken kann.
Kann jemand vielleicht mir helfen:
    -geht's überhaupt?
    -wenn ja: wie? (min. richtung)
    -wenn nein: wie kann ich am besten diesen Problem anders lösen, alternative?

Vielen DANK!


----------



## birnkammer (23. März 2006)

Hi,

Du könntest z.B mit den PDF-Funktionen z.B FPDF und mit MySQL dynamische PDF-Seiten erstellen, die du mit Daten aus der Datenbank füllst.


----------



## Gumbo (23. März 2006)

Muss es unbedingt PHP sein? Ich meine, die meisten Textverarbeitungsprogramme bieten bessere Möglichkeiten soetwas zu realisieren. Als Alternative würde ich PDF-Dokumente empfehlen.


----------



## salo (24. März 2006)

Danke für die Antworte,
Ich habe noch mit gekriegt, dass es über ODBC Mysql zugreifen möglich ist. Alle Möglichkeiten muss ich nachforschen. Ob PHP sein muss, wenn Serienbrief geht soll PHP sein: so lauetet die Auftrag;-)
noch mal danke


----------



## peavey182 (24. März 2006)

Hallo Salo,

geht das nicht mit nem simplen HTML-Template, das Du per css vorher in die richtgen maße (DIN A 4) gebracht hast und dynamisch mit PHP-Adressdaten etc füllst? Müsste doch eigentlich gehen... besteln musst du es aber selbst 

Viele grüße,

peavey


----------



## DivDax (24. März 2006)

Serienbriefe mit HTML zu erstellen, welche mit PHP generiert werden sind nicht wirklich von Vorteil, da beim Drucken oftmals vom Browser Titelleiste Fußzeile etc. mitgedruckt wird wenn man es nicht unter "Datei -> Seite einrichten" ausschaltet.

Es wäre doch wesentlich vorteilhafter das ganze mit PHP in verbindng mit FPDF zu erstellen.
Bei PDF-Dateien ist auch eine einwandfreie Darstellung auf jeder Plattform möglich und man hat es leichter, was z.b. den Briefkopf und die Fußzeile betrifft, da man diese immer extakt an der selben Stelle platzieren kann und sich diese auf jeder weiteren Seite wiederholen können.

Soo schwer ist das nun auch wieder nicht mit FPDF zu arbeiten...beschäftige dich 1h intensiv damit und du wirst sehen, dass es wirklich leicht ist mit PHP PDF-Dateien zu erszeugen!


----------



## peavey182 (24. März 2006)

Hallo,

DivDax hat natürlich recht... so schwer ist es nicht mit FPDF, aber ich wollte ja auch nur ein Prinzip aufzeigen, denn



> ich habe keine Idee wie man in PHP serienbriefe stellen und ausdrucken kann.



Auf http://de2.php.net/manual/de/ref.pdf.php findest Du viele Beispiele u.a. das hier 


```
// Declare PDF File

   $pdf = pdf_new();
   PDF_open_file($pdf);

   // Set Document Properties

   PDF_set_info($pdf, "author", "Alexander Pas");
   PDF_set_info($pdf, "title", "PDF by PHP Example");
   PDF_set_info($pdf, "creator", "Alexander Pas");
   PDF_set_info($pdf, "subject", "Testing Code");

   // Get fonts to use

   pdf_set_parameter($pdf, "FontOutline", "Arial=arialf"); // get a custom font
   $font1 = PDF_findfont($pdf, "Helvetica-Bold",  "winansi", 0); // declare default font
   $font2 = PDF_findfont($pdf, "Arial",  "winansi", 1); // declare custom font & embed into file

   /*
   You can use the following Fontypes 14 safely (the default fonts)
   Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique
   Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique
   Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic
   Symbol, ZapfDingbats
   */

   // make the images

   $image1 = PDF_open_image_file($pdf, "gif", "image.gif"); //supported filetypes are: jpeg, tiff, gif, png.

   //Make First Page

   PDF_begin_page($pdf, 450, 450); // page width and height.
   $bookmark = PDF_add_bookmark($pdf, "Front"); // add a top level bookmark.
   PDF_setfont($pdf, $font1, 12); // use this font from now on.
   PDF_show_xy($pdf, "First Page!", 5, 225); // show this text measured from the left top.
   pdf_place_image($pdf, $image1, 255, 5, 1); // last number will schale it.
   PDF_end_page($pdf); // End of Page.

   //Make Second Page

   PDF_begin_page($pdf, 450, 225); // page width and height.
   $bookmark1 = PDF_add_bookmark($pdf, "Chapter1", $bookmark); // add a nested bookmark. (can be nested multiple times.)
   PDF_setfont($pdf, $font2, 12); // use this font from now on.
   PDF_show_xy($pdf, "Chapter1!", 225, 5);
   PDF_add_bookmark($pdf, "Chapter1.1", $bookmark1); // add a nested bookmark (already in a nested one).
   PDF_setfont($pdf, $font1, 12);
   PDF_show_xy($pdf, "Chapter1.1", 225, 5);
   PDF_end_page($pdf);
  
   // Finish the PDF File
  
   PDF_close($pdf); // End Of PDF-File.
   $output = PDF_get_buffer($pdf); // assemble the file in a variable.

   // Output Area

   header("Content-type: application/pdf"); //set filetype to pdf.
   header("Content-Length: ".strlen($output)); //content length
   header("Content-Disposition: attachment; filename=test.pdf"); // you can use inline or attachment.
   echo $output; // actual print area!

   // Cleanup

   PDF_delete($pdf);
```

Auf gutes Gelingen,

Peavey


----------

