MultiCell

Ausgabe von Text mit Zeilenumbrüchen

Diese Methode erlaubt die Ausgabe von Text mit Zeilenumbrüchen. Diese können automatisch vorgenommen werden (sobald der Text den rechten Rand der Zelle überschreiten würde) als auch explizit durch das \n Zeichen definiert werden. Je nach der resultierenden Anzahl der Zeilen nach dem Umbruch für die Anpassung an die Zellengröße, werden alle Zeilen in separaten Zellen ausgegeben. Der in den Zellen enthaltene Text kann ausgerichtet oder zentriert werden. Des weiteren kann die Zelle mit einem Rahmen und einem Hintergrund versehen werden.

Syntax

MultiCell(float w , float h , string txt [, mixed border] [, string align] [, integer fill])

Parameter

w float

Breite der Zellen. Falls der Wert 0 ist, entspricht die Breite der Zellen dem ab der aktuellen horizontalen Position (X-Achse) bis zum rechten Seitenrand verbleibendem Platz.

h float

Höhe der Zelle. Erfolgt innerhalb der Zelle ein Umbruch und damit die Ausgabe mehrerer Zeilen, entspricht h der Höhe einer Zeile und nicht der gesamten Zellenhöhe.

txt string

Text der in den Zellen ausgegeben werden soll. Standardmäßig eine leere Zeichenfolge.

border (optional) mixed

Gibt an, ob um die Zelle herum ein Rahmen gezeichnet werden soll. Der Wert kann sowohl eine Zahl:

  • 0: ohne Rahmen
  • 1: mit Rahmen

oder eine Zeichenfolge bestehend aus einem oder mehreren der folgenden Zeichen sein (Reihenfolge sowie Groß- / Kleinschreibung sind nicht zu beachten):

  • L: Rahmen links
  • T: Rahmen oben
  • R: Rahmen rechts
  • B: Rahmen unten

Standardmäßig wird kein Rahmen (Wert 0) gezeichnet.

align (optional) string

Kann verwendet werden um den Text in der Zelle auszurichten, oder zu zentrieren. Mögliche Werte für die Ausrichtung sind (Groß- / Kleinschreibung wird nicht beachtet):

  • J oder leere Zeichenfolge: Blocksatz (Standard)
  • L: linksbündig
  • C: zentriert
  • R: rechtsbündig
fill (optional) integer

Gibt an, ob der Zellenhintergrund gefüllt (1) oder transparent (0) sein soll. Soll der Zellenhintergund grfüllt werden, wird die zuvor mit SetFillColor() definierte Farbe verwendet. Standardmäßig wird der Zellenhintergrund transparent gehalten.

Siehe auch

SetFont, SetDrawColor, SetFillColor, SetTextColor, SetLineWidth, Cell, Write, SetAutoPageBreak

Beispiel

// Neues PDF-Dokument erstellen
$pdf = new FPDF('P', 'mm', 'A4');

// neue Seite erzeugen
$pdf->AddPage();

// Schriftart definieren
$pdf->SetFont('helvetica', '', 20 );

// Linienfarbe auf Blau einstellen
$pdf->SetDrawColor(0, 0, 255);

// Füllung auf Rot einstellen
$pdf->SetFillColor(255, 0, 0);

// Textzeile
$string = 'testzeile testzeile testzeile';


// Beispiel_1

/*
Breite 180mm, Höhe 10mm
$string = Text schreiben
B = nur Rahmen unten zeichnen
C = Text zentrieren
0 = ohne Füllung
*/
$pdf->MultiCell( 180, 10, $string , 'B', 'C', 0);

// Zeilenumbruch, Höhe 10mm
$pdf->Ln(10);


// Beispiel_2

/*
Breite 180mm, Höhe 10mm
$string = Text schreiben
1 = mit Rahmen zeichnen
L = Text linkbündig
1 = mit Füllung
*/
$pdf->MultiCell( 180, 10, $string , 1, 'L', 1);

// Zeilenumbruch, Höhe 10mm
$pdf->Ln(10);


// Beispiel_3

// Text mit Zeilenumbruch, Anführungszeichen beachten
$string = "Zeile_1\nZeile_2\nTeile_3";

/*
Breite 180mm, Höhe 10mm
$string = Text schreiben
0 = ohne Rahmen zeichnen
R = Text rechtsbündig
1 = mit Füllung
*/
$pdf->MultiCell( 180, 10, $string , 0, 'R', 1);

// Zeilenumbruch, Höhe 10mm
$pdf->Ln(10);


// Ausgabe zum Browser als test.pdf senden
$pdf->Output( 'test.pdf', 'I');

// Vielen Dank an CIX88
// http://www.cix88.de/