[FPDF] Cell() / MultiCell() Zeilenumbruch

BiepoN

Mitglied
Hallo zusammen,
bin gerade dabei mich mit dem Thema PHP und PDF zugange und habe eine kleine schwierigkeit, die ich nicht ganz verstehe. Aber vielleicht kann mir jemand helfen oder sagen "hey ist doch klar warum das nicht geht!" :)
Zur PDF-Erzeugung nutze ich die funktionen von FPDF und möchte gerne aus einer Datenbank ein BLOB-Feld auslesen und anzeigen lassen.

Code:
...
$pdf->SetX(100);
$pdf->Cell(0,0,$row_modul['beschreibung'],0,1,'L');
...

Den Text zeigt er mir an, aber er bricht den Text nicht automatisch um, wenn er das Ende der Rechten Seite erreicht hat. Hab es auch schon mit MultiCell() probiert, nur dort schreibt er die Wörter in eine Reihe und am selben Fleck.

Gruß BiepoN
 
Hi

zu deinen Problem. Cell ist gedacht für einzeilige Felder. Wenn du dem Feld also eine Breite von 20mm übergibst macht der nach 20mm einen Overflow und zeigt den restlichen Text nicht mehr an.
Wandle einfach dein Beispiel:
$pdf->SetX(100);
$pdf->Cell(0,0,$row_modul['beschreibung'], 0, 1, 'L');

So um:
$pdf->SeXY(100, 100);
$pdf->MultiCell(20, 0, $row_modul['beschreibung']);

PS:
FPDF ist eine Klasse (OOP).

Tipp:
Die zusatzwerte die du übergibst wie 'L' sind Defaultwerte. Also nicht notwendig.
Des Weiteren ist mir aufgefallen, dass wenn man in FPDF zuerst SetX und danach SetY macht verliert er den X-Wert. Mit SetXY kannst du das umgehen.

na dann noch viel Spaß.;)

Gruß
Max
 
@exed:

Vielen Dank für die Erklärung und Hilfe. Habe es jetzt richtig hinbekommen, aber dein Beispiel ein wenig geändert

Code:
$pdf->SetXY(100, $pdf->GetY()-2);
$pdf->MultiCell(0, 3, $row_modul['beschreibung']);

So klappt es genau so wie es sein sollte :).
 
Ich bins nochmal. :suspekt:

@cixx88:
Hast ja ne schöne Seite. Habe mir da für meine FPDF-Sachen einige Anregungen und Tipps angesehen. Hätte da gleich mal ne Frage an dich;). Bei der Funktion TextRender lässt du dir ja über sprintf einen StringSeparieren erstellen.
Wie funktioniert das dann das in dem PDF ein TextRender angezeigt wird?

Gruß
Max
 
Zurück