FPDF: php ein pdf Dokument mit einer Tabelle erstellen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von BladeFire, 31. März 2015 .

  1. 31. März 2015
    Hallo,

    ich versuche zurzeit mit php (fpdf) eine Tabelle zu erstellen. Doch leiter klappt das ganze nicht so wie ich es möchte. Ich schaffe esdie Tabelle so zu erstellen wie ich es möchte, solange alle Text der Zellen kleiner sind als die Zelle.

    PHP:
    $pdf -> SetFont ( 'Arial' , '' , 5 );
    $pdf -> setfillcolor ( 180 );
    $tabellenanfang  $pdf -> GetY ()+ 15 ;
    $pdf -> SetX ( 10 );
    $pdf -> SetY ( $tabellenanfang );
    $ueberschriften  = array( "Titel" , "Beschreibung" , "Tag" , "mintn" , "Kosten" , "Betreuer1" , "Betreuer2" , "Startzeit" , "Endzeit" , "Treffpunkt" , "Ort" );

    for (
    $i  1 $i  <=  count ( $ueberschriften );  $i ++) {
     
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $ueberschriften [ $i - 1 ], 1 , 0 , "C" , 1 );
    }
    $pdf -> ln ();

                    
    $sql  'SELECT * from kurse' ;
                
                
    $stmt  mysqli_prepare ( $link , $sql );
                
    mysqli_stmt_execute ( $stmt );
                
    mysqli_stmt_store_result ( $stmt );
                
    mysqli_stmt_bind_result ( $stmt , $knr $titel $beschreibung $tag $mintn $kosten $betreuer1 , $betreuer2 , $beginnzeit , $endezeit , $treffpunkt , $ort , $sj );    
                while (
    mysqli_stmt_fetch ( $stmt ))
        {
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $titel , 1 , 0 , "C" , 0 );    
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $beschreibung , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $tag , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $mintn , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $kosten , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $betreuer1 , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $betreuer2 , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $beginnzeit , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $endezeit , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $treffpunkt , 1 , 0 , "C" , 0 );
             
    $pdf -> cell ( 280 count ( $ueberschriften ), 10 , $ort , 1 , 0 , "C" , 0 );
             
    $pdf -> ln ();
        }

    $pdf -> Output ();
    Jedoch habe ich ein problem wenn der inhalt größer ist.
    Ich habe es bereits mit $pdf->multiCell probiert. Jedoch habe ich dann das Problem, das sich nur dieses eine feld wo zuviel text drinnen ist, vergrößert.

    Wie soll ich vorgehen?
     
  2. 31. März 2015
    AW: Per php ein pdf Dokument mit einer Tabelle erstellen (fpdf)

    Ich habe vor einer ganzen weile das selbe probiert und habe dann zum Schluss HTML2PDF genutzt
     
  3. 1. April 2015
    AW: Per php ein pdf Dokument mit einer Tabelle erstellen (fpdf)

    Danke für deine Antwort.

    Mit html2pdf hatte ich es auch schon probiert. Jedoch hat es dennoch nicht funktioniert. Bei einem langen text, der größer als die Zelle war, hat sich die gesamte Tabelle verschoben.

    Nun, angeregt durch dein Kommentar, habe ich es nochmal probiert und bin auf die idee gekommen wordwrap() zu benutzen um Zeilenumbrüche herbeizurufen. Es scheint nun (zumindest besser als zuvor) zu funktionieren.

    Sollte jemand auch eine lösung mit fpdf haben, bitte ich denjenigen das auch noch hier zu posten. (Ich habe das Gefühl, das HTML2PDF eine Holzhammer lösung ist.)
     
  4. 1. April 2015
    AW: FPDF: php ein pdf Dokument mit einer Tabelle erstellen

    vonderborn.com &raquo; Erweiterte Tabellen mit FPDF (Rechnungen, Belege, Mahnungen, Listen, ...)

    Benutze ich mit ein paar fixes hier und da. Funktioniert erstaunlich gut.

    LG
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.