Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [PHP] FPDF --> Multicell
AUTOR BEITRAG
giDDl *einfach happy*

RANG Ober0wn3r

#1 - 28.05 12:09

www.fpdf.de/funktionsreferenz/MultiCell/

Laut der Beschreibung sollte ein automatischer Zeilenumbruch am Ende der Zelle erfolgen, allerdings schreibt er bei mir einfach weiter, bis über den Seitenrand hinaus.

Quelltext sieht folgendermaßen aus, "$grund" ist der String, in welchen z.b. ein langer satz enthalten ist.
PHP-code:
<?php 
    $pdf
->SetFont('Arial','B',10);
    
$pdf->Cell(306' Grund'L0''1);
    
$pdf->SetFont('Arial','',10);
    
$pdf->MultiCell(1506$grundR);
 
?>


ausgabe sieht so aus (sorry für kleinen ausschnitt, datenschutz geht vor):
giddl.kilu.de/sonstiges/fpdfmulticell.jpg

Warum funktioniert das nicht richtig??
deluxe *Relaxationsprozess*

RANG Master of Clanintern

#2 - 28.05 14:20

In WAS gibt man denn da Breite und Höhe an?
Pixel? Inch? cm? mm?
Versuch doch mal:

PHP-code:
<?php
$pdf
->MultiCell(0,6$grundR);
?>
giDDl *einfach happy*

RANG Ober0wn3r

#3 - 28.05 18:34

da würde ich eine zelle mit 0 breite bekommen.
angaben sind mm
fishbone

RANG Deckschrubber

#4 - 28.05 20:05

Falsch! Du würdest laut Referenz keine Zelle mit Breite "0" bekommen.

fpdf.de/funktionsreferenz/MultiCell/ :
MultiCell(float w , float h , string txt [, mixed border] [, string align] [, integer fill])


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.

Beispiel: fpdf.de/tutorials/3/
giDDl *einfach happy*

RANG Ober0wn3r

#5 - 29.05 06:51

ok, sry, überlesen. ich brauch allerdings die breite 150, da ich ja eine tabelle haben wil und keinen fließtext wie in dem beispiel.

edit: habs versucht mit der 0 als breite, fehler ist immernoch der gleiche. habe auch die Variable mal durch eine Zeichenfolge ersetzt, keine änderung.
fishbone

RANG Deckschrubber

#6 - 29.05 08:56

fpdf.de/faq/#12

Das hier schonmal probiert?
deluxe *Relaxationsprozess*

RANG Master of Clanintern

#7 - 29.05 10:13

Dabei geht es aber darum, dass man
nur inerhalb von " " als Zeilenumbruch einegeben kann.
Innerhalb von wird das Ganze doch afaik als Text
behandelt.

Aber giDDl will -so wie ich das versteh- Auto-Umbrüche.
Die manuellen Umbrüche scheinen nämlich laut dem Screenshotausschnitt zu funktionieren.

versuch btw. mal
PHP-code:
<?
$pdf
->MultiCell(1506$grund"R");
?>

Weil für den Rahmen steht da "Zeichenkette".
Er sollte zwar eigtl. undefinierte Konstanten als Strings behandeln aber wer weiß
giDDl *{empty}*

RANG Ober0wn3r

#8 - 29.05 13:42

@fishbone: ich habe (hatte) keine manuellen zeilenumbrüche, ich will automatische, wie deluxe das schon erkannt hat.

@deluxe: der Rahmen funktioniert ohne "" und hat mit den umbrüchen auch nix zu tun

habs jetzt so gelöst, dass ich einfach mit "wordwrap" manuelle "\n"s einfüge, dann funktioniert das.
deluxe *ManganArbeitsDismutase*

RANG Master of Clanintern

#9 - 29.05 15:04

Jo -wie gesagt- behandelt er undefinierte Konstanten als Strings.
Ich glaube nicht, dass R vordefiniert ist und ich glaube auch nicht, dass FPDF R definiert (wär eher unüblich). Also sollte da doch "R" stehn, so der Sauberkeit halber.
giDDl *{empty}*

RANG Ober0wn3r

#10 - 30.05 04:00

naja, hab alles getestet, auch mal separat mit ner pdf in der nur eine multicell enthalten ist und es hat trotzdem über den rand geschrieben
deluxe *ManganArbeitsDismutase*

RANG Master of Clanintern

#11 - 31.05 16:59

Hast du das Dokument "richtig" generiert bzw. die Dokumentgröße richtig gesetzt?
Dass es an nem internen Paramenter des PDF-Objektes liegen könnte?
giDDl *{empty}*

RANG Ober0wn3r

#12 - 31.05 17:39

japp. hab jetzt auch mal einfach das hier kopiert, und es funktioniert auch nicht.