Tutorial 2 - Kopfzeilen, Fusszeilen, Seitenumbruch und Grafiken

Beispiel für die Anwendung von Kopfzeilen, Fusszeilen, Seitenumbruch und Grafiken

Vielen Dank für die Übersetzung an:
Tobias Zambelli


Hier ist ein Beispiel über zwei Seiten mit Kopfzeile, Fusszeile und Logo

<?php

require('fpdf.php');

class PDF extends FPDF {
  // Kopfzeile
  function Header()
  {
    // Logo
    {"$"}this->Image('logo_pb.png',10,8,33);
    // Arial fett 15
    {"$"}this->SetFont('Arial','B',15);
    // nach rechts gehen
    {"$"}this->Cell(80);
    // Titel
    {"$"}this->Cell(30,10,'Titel',1,0,'C');
    // Zeilenumbruch
    {"$"}this->Ln(20);
  }

  // Fusszeile
  function Footer()
  {
    // Position 1,5 cm von unten
    {"$"}this->SetY(-15);
    // Arial kursiv 8
    {"$"}this->SetFont('Arial','I',8);
    // Seitenzahl
    {"$"}this->Cell(0,10,'Seite '.{"$"}this->PageNo().'/{nb}',0,0,'C');
  }
}

{"$"}pdf=new PDF();
{"$"}pdf->AliasNbPages();
{"$"}pdf->AddPage();
{"$"}pdf->SetFont('Times','',12);
for({"$"}i=1;{"$"}i<=40;{"$"}i++)
  {"$"}pdf->Cell(0,10,'Zeilennummer '.{"$"}i,0,1);
{"$"}pdf->Output();

?>

Dieses Beispiel verwendet die Header() und Footer() Methoden um Kopf- und Fusszeilen zu erstellen. Sie werden automatisch aufgerufen. Sie existieren schon in der FPDF-Klasse, machen aber nichts. Deshalb müssen wir die Klassen erweitern und überschreiben.

Das Logo wir mit dem Befehl Image() ausgegeben. Man spezifiziert die Position links oben und die Breite. Die Höhe wird automatisch berechnet, damit das Bild seine Proportionen beibehät.

Um die Seitenzahl auszugeben wurde die zellenweite auf Null gesetzt. Dies bewirkt das die Zelle bis zum rechten Rand gehen kann; den Text zu zentrieren ist passend. Die fortlaufende Seitenzahl wird von PageNo() zurückgegeben; die gesamte Anzahl der Seiten erhät man mittels einen speziellen Wert {nb} welcher beim Schliessen des Dokuments gesetzt wird. (sofern man AliasNbPages() ausgeführt hat!).
Man beachte die SetY() Methode, welche es erlaubt eine absolute Position auf einer Seite zu definieren, ausgehend von oben oder unten.

Es wird noch ein interessantes Feature verwendet: der automatische Seitenumbruch. Sobald eine Zelle das Ende einer Seite erreichen würde (standardmäßig 2 zentimeter von unten), wird ein Seitenumbruch eingefügt und die Schriftart wiederhergestellt. Obwohl die Kopf- und Fusszeile ihre eigene Schriftart haben (Arial) fährt der Hauptteil mit Times fort. Dieser Mechanismus der automatischen Wiederherstellung funktioniert auch mit Farben und Linienbreiten. Das Ende, welches den Seitenumbruch auslöst, kann mit SetAutoPageBreak() festgesetzt werden.

Zurück

Es ist ein Fehler aufgetreten

Es ist ein Fehler aufgetreten

Was ist das Problem?

Bei der Ausführung des Skriptes ist ein Fehler aufgetreten. Irgendetwas funktioniert nicht richtig.

Wie kann ich das Problem lösen?

Öffnen Sie die aktuelle Log-Datei im Ordner var/logs bzw. app/logs und suchen Sie die zugehörige Fehlermeldung (normalerweise die letzte).

Weitere Informationen

Die Skriptausführung wurde gestoppt, weil irgendetwas nicht korrekt funktioniert. Die eigentliche Fehlermeldung wird aus Sicherheitsgründen hinter dieser Meldung verborgen und findet sich in der aktuellen Log-Datei (siehe oben). Wenn Sie die Fehlermeldung nicht verstehen oder nicht wissen, wie das Problem zu beheben ist, durchsuchen Sie die Contao-FAQs oder besuchen Sie die Contao-Supportseite.