Mailinglisten-Archive |
Am Dienstag, 1. Oktober 2002 15:29 schrieben Sie: > Ich hab grad eine theoretische Lösung dafür gefunden: > > http://www.fpdf.org/phorum/read.php?f=1&i=1576&t=1566#1576 > > Muss ich aber erst mal ne praktische draus machen *grumpfs* > > Viele Grüße, Mathias Die Lösung ist doch gleich mit vorgegeben: Vor der Zeile speicherst Du die Y-Pos (obere Kante der Zeile) in eine Variable. Die Tabellenfelder sind multicell (also mit Umbruch in der Celle und fester Breite). Nach jedem multicell fragst Du die neue Y-Pos ab. Ist die Y-Pos größer als vorher dann überschreiben. Zum Schluß ziehst Du die Linien. Die X-Positionen sind ja bekannt feste Werte (Spaltenbreite) und die Y-Pos stehen in den Variablen. Der Seitenumbruch ist ein wenig komplizierter. Als erstes die aktuelle Y-Pos herausfinden. Dann die max-Höhe der Zeile ermitteln. Zum Prüfen ob der Text hineinpasst, würde ich bevor mit der Zeile begonnen wird die längen der Texte per strlen() ermitteln sowie die Zeilenschaltungen ermitteln "\n" und über eine Formel (z. B. 1 Zeilenhöhe = 0,5 cm und 30 Zeichen pro Zeile (ist ja von der verwendeten Schriftart abhängig)) den benötigten Platz ermitteln. Das das nicht immer passen kann (nichtproportionale Schriftarten) ist mir auch bekannt. !Ist nur so eine Idee! Wie wäre es, wenn Du Cell verwendest und den überstehenden Rest einfach weglässt, natürlich nur wenn das Sinn macht. Bei der Lösung dieses Problems knobel ich auch noch. Gruss Ron
php::bar PHP Wiki - Listenarchive