FPDF Cell Width = auto ?!

DiDiJo

Erfahrenes Mitglied
Hi Leute,

ich bastel gerade an einem Zeitungsgenerator indem man seine eigenen Hauszeitungen zusammen bauen kann. Am Ende bekommt man eine fertige PDF.

Dafür baue ich gerade das Inhaltsverzeichnis was am Ende wie folgt aussehen soll:
INDEX_big_layout_1.jpg


Das ganze habe ich nun schon soweit lauffähig aufgebaut ...


Nun habe ich gerade nen Inhaltsverzeichnis von einer X-Beliebigen Zeitung durchstöbert und mir ist aufgefallen, dass dort die "Themengebiete" mit Punkten von den Seitenzahlen getrennt sind:

Bsp.:
Titel 1 ................................................................. Seite 1
Etwas längerer Titel ........................................... Seite 2
Kurzer Titel ......................................................... 3

Nun woltle ich das ganze so lösen:

Ich "male" erstmal die Zeilen in der entsprechenden Hintergrundfarbe:
PHP:
$pdf->SetXY($start_x , $tmp_y);
$pdf->SetFillColor($bg_color[0],$bg_color[1],$bg_color[2]);
$pdf->Cell(18.53, 0.85, '', 0, 0, "", 1);

danach "male" ich über die komplette Breite die Punkte
PHP:
$pdf->SetLineWidth(0.01); 
$pdf->SetDash(0.01, 0.16);
$pdf->SetDrawColor($_ENV['basic_color'][0],$_ENV['basic_color'][1],$_ENV['basic_color'][2]); 
$pdf->Line(2, $tmp_y + 0.6, 19.8, $tmp_y  + 0.6);

und nun wollte ich darüber die "Themengebiete" und Seitenzahlen drüber schreiben mit der entsprechenden Hintergrundfarbe, damit die Punkte am Anfang und am Ende entsprechend überlagert werden (im Moment gebe ich nur die linke Spalte aus)
PHP:
$pdf->SetXY($start_x , $tmp_y);
$pdf->SetFillColor($bg_color[0],$bg_color[1],$bg_color[2]);
$pdf->Cell(0, 0.85, $index_page[$i], 0, 0, "", 1);

Wenn ich es so lasse wie jetzt, dann geht die Zelle über die komplette PDF Seite ... Wenn ich als Breite 0.1 angebe, dann ist die Zelle auch nur 0.1 mm Breit und die Punkte gehen durch meinen Text.

Gibt es irgendwie eine Möglichkeit, dass die Zelle sich dem Inhalt anpasst? Oder kann ich irgendwie die Textbreite unter Berücksichtigung der Schriftart und Schriftgröße berechnen lassen?

Oder würdet Ihr das komplett anders machen ? Ich bin für jeden Tipp zu haben !

mfg DiDi
 
Zurück