Anzeige
Tutorialbeschreibung

PDF mit PHP Klasse erstellen

PDF mit PHP Klasse erstellen

Hallo zusammen!

Ich habe für einen Kumpel eine Webseite programmiert. Er wünschte sich automatisch generierte PDFs aus der Datenbank/Webseite heraus. Diese PHP Klasse ist wirklich einfach und gut aufgebaut.



 


Vorerst hier die wichtigsten Link zu der PDF Klasse:
- Starteseite > http://www.fpdf.de
- aktuellste Releases > http://www.fpdf.de/downloads/releases/
- Dokumentation > http://www.fpdf.de/dokumentation/
- Forum > http://www.fpdf.de/forum/

Das ganze basiert auf einer Klasse, ist also objektorientiertes Programmieren. Da eine Einführung in Objektorientierung den Rahmen dieses tutorials sprengen würde, kann ich leider nicht darauf eingehen. Ich werde bei Gelegenheit ein passendes Tutorial erstellen.

Als ich diese Klasse benutzt hatte, hatte und habe ich auch jetzt noch keine richtigen Kenntnisse der Objektorientierung. Dies zeigt also, dass alles sehr gut dokumentiert und erklärt ist. Die Leute haben ganze Arbeit geleistet.

Falls Ihr Fragen habt, einfache melden.

Nun zum Tutorial...

Kurzeinstieg:
1. FPDF Klasse (ist ein Ordner) herunterladen und auf den Webspace kopieren
2. PHP- Datei erstellen und die
classe per include('fpdf.php'); includen (damit die nötigen Befehle bekannt sind)
3. die nötigen Felder, Texte, usw. einfügen
4. ausgabe des pdfs veranlassen mit dem befehl
$pdf->Output('meinpdfname.pdf', D);

Nun zur detailierten Anleitung


Schritt 1:

Zuerst muss das FPDF Zipfile (http://www.fpdf.de/downloads/releases/) entpackt und anschließend auf dem Webserver (z.b Xampp oder eigener Webspace) platziert werden.

Als Anhang findet Ihr meinen fpdf Ordner mit zwei zusätzlichen Test-Files (dieser Ordner beinhaltet die komplette FPDF Klasse inklusive zwei Beispieldateien zum erstellen eines ersten PDF's):
- formular.php
- machpdf.php


Schritt 2:
Wenn Ihr das formular.php File im Browser öffnet (Webserver Umgebung mit PHP wird benötigt), kommt ein Formular, wo ihr Eure Daten (Name, Vorname und Land) eingeben könnt (Testdaten).

Bilder


Schritt 3:
Beim Absenden des Formulars werden die Daten an die machpdf.php Seite gesendet. Damit wird sofort ein pdf erstellt mit Euren eingegebenen Daten von Schritt 2. Der Code der Beispieldatei machpdf.php für das Generieren eines PDFs sieht so aus:

<?php

// Dieser Befehl ist wichtig. Damit wird die zuständige PHP Klasse für das Erstellen des PDF geladen.
include('fpdf.php');


// hier beginnt das Generieren eines neuen PDFs. Nähere Details in der Dokumentation.
$pdf=new FPDF();

//Dieser Befehl fügt eine neue Seite ein.
$pdf->AddPage();


// Setzen der Schriftart und Größe.
$pdf->SetFont('Arial','B',18);

// Titel des PDF (Cell bedeutet Zelle einfügen. 30 ist die Breite und 40 die Höhe der Zelle. Die 1 am schluss ist optional für Rahmen
$pdf->Cell(40,30,'Meine persönlichen Angaben', 1);

//Zeilenumbruch.
$pdf->Ln();

//Schrift definieren.
$pdf->SetFont('Arial','B', 12);

//Neue Zellen mit den Eingaben aus dem Formular.
$pdf->Cell(40,6,'mein name ist '.$_POST[name]);
$pdf->Ln();
$pdf->Cell(40,6,'mein vorname ist '.$_POST[vorname]);
$pdf->Ln();
$pdf->Cell(40,6,'ich komme aus '.$_POST[land]);

/*befehl für das Ausgeben des PDFs. In den Hochkommas steht der gewünschte PDF Name. Das D bedeutet, dass das PDF im Browser über das "Speichern unter" Fenster gespeichert werden kann */
$pdf->Output('meinpdfname.pdf', D);
?>

Genauere Details zur Klasse und Befehle

Die folgenden Befehle sind zwingend notwendig, damit überhaupt ein pdf erstellt werden kann:
Jedes neue PDF welches erstellt werden soll muss mit dem Befehl $pdf=new FPDF(); aufgerufen werden.
Anschliessend wird mit dem Befehl $pdf->AddPage(); eine neue Seite erstellt.
Für die Ausgabe des fertigen PDFs muss am schluss die Zeile $pdf->Output('meinpdfname.pdf', D); eingefügt werden.

nähere Details folgen...

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ich bin definitiv von dieser php klasse überzeugt. Nach einer gewissen Einarbeitungszeit erstellt Ihr bereits eigene PDFs aus der Datenbank, Formularen usw.

Gruß und viel Spaß wünscht
netmarshall

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von testuserxc
  • 15.11.2010 - 21:59

nette idee, ich werds mir mal merken

Portrait von lomonosoff
  • 30.09.2010 - 15:26

Von sich ist der Tutorial nicht schlecht erklärt. Auch für Anfänger verständlich (ich bin so einer). Was mir nicht gefallen hat - sind die Syntaxfehler. Ich habe den Quelltext der Datei machpdf.php einfach aus dem Tutorialtext raus kopiert und eingefügt. Und.... Erste was ich bekommen habe, ein Haufen Fehler über "nicht deklarierte" Variablen. Ups ! Das hat mir als Anfänger Zeit gekostet, bis ich die Fehler gefunden habe. Bei einem Tutorial soll es nicht passieren dürfen. Obwohl ich dabei wieder was gelernt habe. Noch ein Fehler hier: "... 30 ist die Breite und 40 die Höhe der Zelle." Falsch ! Gerade umgekehrt.
Also, Tutorial ist nützlich, aber zu viele Fehler. Deswegen 2 Sterne.

Portrait von Dissel2010
  • 07.02.2010 - 20:41

Danke für das einfach Tut, hilft mir viel weiter!!!

Portrait von Rotorhead
  • 11.11.2009 - 14:49

Danke schön. Zwar ein kurzes Tutorial, aber ein guter und schneller Einstieg in die PDF- Generierung in PHP. Ich mag es, obwohl ich seit Jahren mit PHP mein Brot verdiene.

Portrait von Destruction929
  • 04.09.2009 - 22:55

Bei fpdf gibt es genug davon ;) ;)

Portrait von matcho
  • 09.07.2009 - 09:39

und wie schreibe ich in bereits vorhande pdfs?

Portrait von netmarshall
  • 09.07.2009 - 11:07

Dies ist laut fpdf nicht möglich. siehe punkt 17 http://www.fpdf.de/faq/#17

die lösung wäre eventuell >> http://fpdi.setasign.de/

Portrait von MikayKun
  • 30.04.2009 - 22:35

Nett gemeint, aber die Demos die dabei sind erklären schon an sich eine Menge. Wer sich ein bisschen mit PHP auskennt kann sich schnell und leicht einarbeiten.

Portrait von netmarshall
  • 30.04.2009 - 08:09

Vielen Dank für Eure Kommentare. Ich werde, da dieses Tutorial etwas dürftig daherkommt, überarbeiten. Da es sich bei der PDF Klasse um Objektorientierung handelt, werden es Anfänger nicht auf Anhieb verstehen. Allerdings muss ich dazu sagen, dass auch ich mich nicht wirklich in der Objektorientierung auskenne. Dennoch werde ich versuchen bei der Überarbeitung näher darauf einzugehen.

Portrait von schattenlicht83
  • 30.04.2009 - 06:48

Ansich fehlt mir bei dem Tut auch mehr Hintergrundinfo. Der Ansatz ist schön. Planst du denn noch was hintendran? Würde ich mir in jedemfall wünschen!

LG

Portrait von progfrog
  • 26.04.2009 - 19:13

Das Tutorial an sich finde ich auch nicht wirklich gelungen. Es fehlt irgendwie das Tutorial =) Es ist mehr eine sehr sehr kurze Vorstellung der PDF-Klasse. Da ich eine solche aber schon seit Monaten verzweifelt gesucht habe, bekommste 4 Sterne von mir! Gruß progfrog

Portrait von mfgleo
  • 26.04.2009 - 15:02

Das Tutorial ist zwar nett gemeint, aber ohne Grundlagen, was fpdf macht wird es ein Anfänger nicht wirklich verstehen.

Portrait von DonUndertaker
  • 26.04.2009 - 14:43

Ich fand es gut verständlich und ich glaube die Informationen reichen um damit zu arbeiten.

Portrait von subcomtom
  • 26.04.2009 - 10:45

Für ein echtes Tutorial etwas dürftig, es macht aber wieder Lust auf die PDF-Klasse.
Es wäre schön gewesen etwas mehr auf die Möglichkeiten einzugehen den Text auszuschmücken oder die Problematik der Fontauswahl anzuschneiden.
Ist denn tutorialmäßig noch mehr geplant?

Portrait von netmarshall
  • 26.04.2009 - 11:06

Vielen Dank für Deine Kritik subcomtom

es war mein allererstes Tutorial. Ich werde bei Gelegenheit dieses Tutorial nochmals überarbeiten.

Gruss

x
×
×