fpdf
PHP powered
home was ist fpdf? downloads & add-ons dokumentation faq forum impressum links kontakt
 

Tutorials

 
         
  DKMS - Registrieren Sie sich jetzt als Knochenmarkspender!      
         
 

Zeilenumbrüche und Farben

Weiter geht es mit einem Beispiel für die Ausgabe von ausgerichteten Absätzen und die Verwendung von Farben.

<?php
define('FPDF_FONTPATH','font/');
require(
'fpdf.php');

class
PDF extends FPDF
{
function
Header()
{
    global
$title;

    
// Arial Fett 15
    
$this->SetFont('Arial','B',15);
    
// Berechne Breite des Titels und die Position
    
$w=$this->GetStringWidth($title)+6;
    
$this->SetX((210-$w)/2);
    
// Farbe von Rahmen, Hintergrund und Text
    
$this->SetDrawColor(0,80,180);
    
$this->SetFillColor(230,230,0);
    
$this->SetTextColor(220,50,50);
    
// Dicke des Rahmens (1 mm)
    
$this->SetLineWidth(1);
    
// Titel
    
$this->Cell($w,9,$title,1,1,'C',1);
    
// Zeilenumbruch
    
$this->Ln(10);
}

function
Footer()
{
    
// Position 1.5cm von unten
    
$this->SetY(-15);
    
// Arial Kursiv 8
    
$this->SetFont('Arial','I',8);
    
// Text in Grau
    
$this->SetTextColor(128);
    
// Ausgabe Seitenzahl
    
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
}

function
ChapterTitle($num,$label)
{
    
// Arial 12
    
$this->SetFont('Arial','',12);
    
// Hintergrundfarbe
    
$this->SetFillColor(200,220,255);
    
// Titel
    
$this->Cell(0,6,"Chapter $num : $label",0,1,'L',1);
    
// Zeilenumbruch
    
$this->Ln(4);
}

function
ChapterBody($file)
{
    
// Testdatei einlesen
    
$f=fopen($file,'r');
    
$txt=fread($f,filesize($file));
    
fclose($f);
    
// Times 12
    
$this->SetFont('Times','',12);
    
// Ausgerichteten Text ausgeben
    
$this->MultiCell(0,5,$txt);
    
// Zeilenumbruch
    
$this->Ln();
    
// Kursiv
    
$this->SetFont('','I');
    
$this->Cell(0,5,'(end of excerpt)');
}

function
PrintChapter($num,$title,$file)
{
    
$this->AddPage();
    
$this->ChapterTitle($num,$title);
    
$this->ChapterBody($file);
}
}

$pdf=new PDF();
$title='20000 Leagues Under the Seas';
$pdf->SetTitle($title);
$pdf->SetAuthor('Jules Verne');
$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
$pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt');
$pdf->Output();
?>

[Demo]

Die Methode GetStringWidth() ermöglicht es die Breite einer Zeichenfolge unter Berücksichtigung der aktuell festgelegten Schriftart zu ermitteln und wird hier verwendet um die Breite des Rahmens um den Titel und die Position des Titels zu berechnen. Die Farben werden definiert (mittels SetDrawColor(), SetFillColor() und SetTextColor()) und die Dicke der Linie wird mittels SetLineWidth() auf 1 mm festgelegt (entgegen dem Standardwert von 0.2). Abschließend wird die Zelle ausgegeben (über den letzten Parameter mit dem Wert 1 wird festgelegt dass der Hintergrund gefüllt werden soll).

Die Methode um Absätze auszugeben ist MultiCell(). Jedes Mal wenn eine Zeile das rechte äußere Ende der Zelle erreicht oder ein Zeilenumbruch gefordert wird ("\n") wird ein Zeilenumbruch durchgeführt und automatisch eine neue Zelle unterhalb der aktuellen erzeugt. Der Text wird standardmäßig ausgerichtet.

Zwei Dokumenteigenschaften werden definiert: Dokumenttitel (SetTitle()) und Autor (SetAuthor()). Dokumenteigenschaften können auf zwei Arten angezeigt werden. Nachdem das Dokument im Adobe Reader geöffnet wurde können die Dokumenteigenschaften unter "Datei > Dokumenteigenschaften", oder beim Öffnen mit dem Adobe Reader Plug-In (bsp. im IE) über "Rechtspfeil über der rechten Scroll-Leiste > Dokumenteigenschaften" aufgerufen werden.
 






 
         
         
 
 
fpdf.de © Copyright 2004-2006 carrib internet solutions - Beachten Sie bitte die Nutzungsbedingungen
Eine Verwendung der auf fpdf.de befindlichen Inhalte (Texte, Grafiken) ist nur mit Zustimmung des Betreibers zulässig.