PHP - PDF erzeugen

From XennisWiki
Jump to: navigation, search

Create PDF files with PHP

Die vollständige Anleitung findest du auf der folgenden Seite: www.php-space.info!

  • Lade die die neueste Version von fpdf herunter
  • Erstelle in dem Verzeichnis, in dem die Datei fpdf.php liegt, die Datei index.html mit folgendem Inhalt:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title> PDF-Generator </title>
</head>
<body>
<form
  action = "pdf.php"
  method = "post"
  target = "_blank">
<fieldset
style = "width:390px; border-color:#000; border-width:1px;">
<legend><span> PDF-Generator </span></legend><br>
<table
  border = "0"
  width = "300">
 <tr>
  <td valign = "top"> Absender </td>
  <td><textarea
    name = "absender"
    cols = "25"
    rows = "4"
    style = "width:250px;">
  </textarea></td>
 </tr>
 <tr>
  <td valign = "top"> Empf&auml;nger </td>
  <td><textarea
    name = "empfaeger"
    cols = "25"
    rows = "4"
    style = "width:250px;">
  </textarea></td>
 </tr>
 <tr>
  <td valign = "top"> Betreffzeile </td>
  <td><input
   name = "betreff"
   value = ""
   type = "text"
   style = "width:250px;"></td>
 </tr>
 <tr>
  <td valign = "top"> Anrede </td>
  <td><input
    name = "anrede"
    value = ""
    type = "text"
    style = "width:250px;"></td>
 </tr>
 <tr>
  <td valign = "top"> Text </td>
  <td><textarea
    name = "text"
    cols = "25"
    rows = "7"
    style = "width:250px;">
  </textarea></td>
 </tr>
 <tr>
  <td valign = "top"> Gru&szlig;formel </td>
  <td><input
    name = "gruss"
    value = ""
    type = "text"
    style = "width:250px;"></td>
 </tr>
</table>
<input
  name = "senden"
  type = "submit"
  value = "PDF erstellen"><br>
<br>
</fieldset>
</form>
</body>
</html>
  • Erstelle im gleichen Verzeichnis die Datei pdf.php mit folgendem Inhalt (Achtung: Der Pfad zum Logo muss ggf. angepasst werden):
<?php
    /**
    * Die Variable $_POST["absender"] überprüfen, ob
        dieser einen Wert zugewiesen ist.
    */
    if (!isset($_POST["absender"])) $_POST["absender"]
        = '';
    /**
    * Wen die Variable $_POST["absender"] leer ist,
        geben wir eine Fehlermeldung aus und brechen
        das Script mit exit ab.
    */
    if ($_POST["absender"] == '') {
        echo 'Bitte geben Sie einen Absender ein!';
        exit;
    }
    /**
    * Die Variable $_POST["empfaeger"] überprüfen, ob
        dieser einen Wert zugewiesen ist.
    */
    if (!isset($_POST["empfaeger"]))
        $_POST["empfaeger"] = '';
    /**
    * Wen die Variable $_POST["empfaeger"] leer ist,
        geben wir eine Fehlermeldung aus und brechen
        das Script mit exit ab.
    */
    if ($_POST["empfaeger"] == '') {
        echo 'Bitte geben Sie ein Empfänger ein!';
        exit;
    }
    /**
    * Die Variable $_POST["betreff"] überprüfen, ob
        dieser einen Wert zugewiesen ist.
    */
    if (!isset($_POST["betreff"])) $_POST["betreff"] =
        '';
    /**
    * Wen die Variable $_POST["betreff"] leer ist,
        geben wir eine Fehlermeldung aus und brechen
        das Script mit exit ab.
    */
    if ($_POST["betreff"] == '') {
        echo 'Bitte geben Sie eine Betreffzeile ein!';
        exit;
    }
    /**
    * Die Variable $_POST["anrede"] überprüfen, ob
        dieser einen Wert zugewiesen ist.
    */
    if (!isset($_POST["anrede"])) $_POST["anrede"] =
        '';
    /**
    * Wen die Variable $_POST["anrede"] leer ist,
        geben wir eine Fehlermeldung aus und brechen
        das Script mit exit ab.
    */
    if ($_POST["anrede"] == '') {
        echo 'Bitte geben Sie eine Anrede ein!';
        exit;
    }
    /**
    * Die Variable $_POST["text"] überprüfen, ob
        dieser einen Wert zugewiesen ist.
    */
    if (!isset($_POST["text"])) $_POST["text"] = '';
    /**
    * Wen die Variable $_POST["text"] leer ist, geben
        wir eine Fehlermeldung aus und brechen das
        Script mit exit ab.
    */
    if ($_POST["text"] == '') {
        echo 'Bitte geben Sie einen Text ein!';
        exit;
    }
    /**
    * Die Variable $_POST["gruss"] überprüfen, ob
        dieser einen Wert zugewiesen ist.
    */
    if (!isset($_POST["gruss"])) $_POST["gruss"] = '';
    /**
    * Wen die Variable $_POST["gruss"] leer ist, geben
        wir eine Fehlermeldung aus und brechen das
        Script mit exit ab.
    */
    if ($_POST["anrede"] == '') {
        echo 'Bitte geben Sie eine Grußformel ein!';
        exit;
    }
    /**
    * Festlegen des Verzeichnisses, wo die
        Schriftarten gespeichert sind.
    */
    define('FPDF_FONTPATH', 'font/');
    /**
    * Laden der FPDF Class
    */
    include('fpdf.php');
    /**
    * Neues Objekt erstellen
    */
    $pdf = new FPDF();
    /**
    * Beginnen mit den erstellen von PDF Dokument.
    */
    $pdf->Open();
    /**
    * Eine Seite in PDF Dokument hinzufügen.
    */
    $pdf->AddPage();
    /**
    * Das Logo einbinden, das Logo muss die Maße
        130x30 haben, ansonsten müssen die Maße
        entsprechend der Bildgröße angepasst werden.
    */
    $pdf->Image('logo.jpg', '130', '30', '0', '0');
    $pdf->Ln(18);
    /**
    * Den Absender mit der Schriftart "Arial"
        schreiben.
    */
    $pdf->SetFont('Arial', 'I', 12);
    $pdf->Write(6, $_POST["absender"]);
    $pdf->Ln(15);
    /**
    * Den Empfänger mit der Schriftart "Arial"
        schreiben.
    */
    $pdf->SetFont('Arial', 'B', 12);
    $pdf->Write(6, $_POST["empfaeger"]);
    $pdf->Ln(15);
    /**
    * Den Betreff mit der Schriftart "Arial" schreiben.
    */
    $pdf->SetFont('Arial', 'I', 14);
    $pdf->Write(6, $_POST["betreff"]);
    $pdf->Ln(15);
    /**
    * Die Anrede mit der Schriftart "Arial" schreiben.
    */
    $pdf->SetFont('Arial', '', 14);
    $pdf->Write(6, $_POST["anrede"]);
    $pdf->Ln(15);
    /**
    * Den Text mit der Schriftart "Arial" schreiben.
    */
    $pdf->SetFont('Arial', '', 14);
    $pdf->Write(6, $_POST["text"]);
    $pdf->Ln(15);
    /**
    * Die Grußformel mit der Schriftart "Arial"
        schreiben.
    */
    $pdf->SetFont('Arial', 'B', 14);
    $pdf->Write(6, $_POST["gruss"]);
    $pdf->Ln(15);
    /**
    * Das PDF Dokument ausgeben.
    */
    $pdf->Output("dokument.pdf", "D");
?>