In diesem Tutorial möchte ich ihnen erklären, wie sie mit PHP ein PDF Dokument erstellen. Es gibt verschiedene Klassen in PHP, womit man ein PDF Dokument erstellen kann. Am meisten verbreitet ist die Klasse von FPDF, diese kann man direkt auf der Homepage kostenlos herunterladen. In unseren Tutorial verwenden wir die Klasse von FPDF.
Als erstes benötigen wir die Klasse, diese könnt Ihr in gezippter Form hier herunterladen. Die Zip Datei entpakt ihr bitte im gleichen Verzeichnis, wo das Script liegt. Danach benötigen wir eine Eingabemaske wo man die Daten eingeben kann, die später von den PHP Script zu ein PDF Dokument umgewandelt werden. In der Eingabemaske benötigen wir die Daten: Absender, Empfänger, Betreffzeile, Anrede, Text und Grußformel
So würde zum Beispiel unser Formular aussehen, was wir erstellen möchten.

HTML Code für das Formular:
<!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ä
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ß
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>
Das HTML Formular muss man einfach in einen Texteditor kopieren und als index.html im gleichen Verzeichnis speichern, wo die Datei fpdf.php liegt. Als nächstes benötigen wir unser PHP Script, was automatisch die Daten von unserem HTML Formular entgegennimmt und in ein PDF Dokument umwandelt. Nachfolgend finden sie das PHP Script, dies müssen sie als pdf.php im gleichen Ordner speichern.
Der Code für das PHP-Script:
<?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");
?>
Wenn man diese zwei Dateien im gleichen Ordner wie die fpdf.php gespeichert hat, muss man den gesamten Ordner auf den Webspace übertragen. Danach kann man das Formular aufrufen und mit entsprechender Eingabe und absenden des Formulars wird in einen neuen Fenster das PDF Dokument ausgegeben. Wichtig ist hierbei, dass man vorher noch im PHP Script, was oben aufgeführt ist den Eintrag für das Logo anpasst. Wenn kein Logo mit auf den Server übertragen wird, kann das PDF Dokument mit den PHP Script nicht ordnungsgemäß generiert werden.
Ihr könnt das gesamte Script, was in diesen PHP Tutorial behandelt wurde, hier herunterladen. Bei Fragen zu diesen PHP Tutorial, möchte ich euch bitten direkt im Forum eure Frage zu stellen. In unserer Tutorial Datenbank haben wir bereits nachfolgende Funktionen behandelt, die auch entsprechend in diesen Tutorial vorkommen. Wenn ihr diese Tutorials noch nicht gelesen habt, könnt ihr dies an der Stelle nachholen.
Funktionen die in diesem Tutorial verwendet wurden:
echo - Text ausgeben mit PHP.
isset() - Eine Variable prüfen, ob ein Inhalt enthalten ist.
If- Anweisung - Erklärung wie man die If - Anweisung verwenden kann in PHP.
include() - Hier wird erklärt wie man den PHP Befehl include() benutzen kann.
$_POST[] - Erklärung wie man Daten an ein Formular übergibt.