2017-09-03 2 views
-1

こんにちは親愛なる私の問題を手伝ってもらえますか?私の論文に必要です。私はマルチセルを使って自分のセルにテキストを折り返したいと思っています。私はビデオを見て、ここで同じ質問を探すことを試みますが、私は修正できません。どうやってそれをするのか理解してください。あなたが私に例を与えるか、より良いpdfジェネレータがあるなら、それは非常に助かるでしょう。FPDFマルチセルテキストラッピング

これは私のコード

<?php 
require('fpdf181/fpdf.php'); 
$conn = mysqli_connect("localhost", "root", "", "srdatabase"); 

class PDF extends FPDF 
{ 
    function Header() 
    { 
     $this->SetFont('Arial','B',12); 
     $this->Cell(100, 10, 'Reports', 0,1); 
     $this->Ln(5); 
     $this->SetFont('Arial','B',7); 
     $this->SetFillColor(180, 180, 255); 
     $this->SetDrawColor(50,50,100); 
     $this->Cell(26,10,'Full Name',1,0,'',true); 
     $this->Cell(25,10,'Specialization',1,0,'',true); 
     $this->Cell(190,10,'Description',1,0,'',true); 
     $this->Cell(22,10,'Reserved Count',1,0,'',true); 
     $this->Cell(18,10,'Date Added',1,1,'',true); 
    } 
} 

$pdf = new PDF('P','mm', 'A4'); 
$pdf->AliasNbPages('{pages}'); 
$pdf->SetAutoPageBreak(true,15); 
$pdf->AddPage('L','A4',0); 
$pdf->setFont('Arial','',7); 
$pdf->setDrawColor(50,50,100); 

if(empty($_POST["from_date"]) && empty($_POST["to_date"])&& isset($_POST["search_text"])) 
{ 
    $search = mysqli_real_escape_string($conn, $_POST["search_text"]); 

    $query = mysqli_query($conn, " 
    SELECT * FROM speakers 
    WHERE speaker_fullname LIKE '%".$search."%' 
    OR speaker_image LIKE '%".$search."%' 
    OR speaker_specialization LIKE '%".$search."%' 
    OR speaker_description LIKE '%".$search."%' 
    OR speaker_paymentcost LIKE '%".$search."%' 
    OR speaker_reservedcount LIKE '%".$search."%' 
    OR date_added LIKE '%".$search."%' 
    ORDER BY date_added DESC"); 

    while($data=mysqli_fetch_array($query)) 
    { 
     $pdf->Cell(26,10,$data['speaker_fullname'],1,0); 
     $pdf->Cell(25,10,$data['speaker_specialization'],1,0); 
     $pdf->Cell(190,10,$data['speaker_description'],1,0); 
     $pdf->Cell(22,10,$data['speaker_reservedcount'],1,0); 
     $pdf->Cell(18,10,$data['date_added'],1,1); 
    } 
} 

あり、これは、それはあなたがおそらくそれが長すぎるとき$data['speaker_description']がラップしたいように見えます enter image description here

+1

あなたはMultiCellを使用していないので、あなたは何を期待しているのか分かりません。 http://www.fpdf.org/ja/doc/multicell.htm。 –

答えて

1

のように見えるものです。とにかく、そうでない場合は、すべての列に対してこれを実行できます。

FPDF GetStringWidth()を使用して、提案した幅よりも大きくなり、Cell()ではなく各列にMultiCell()を使用することができます。また、$pdf->SetAutoPageBreak(false);を指定していない場合は、そのページを追加する必要があります(下部に到達したときにページを追加する)し、最後のセルが新しいページを追加する前に下のページにオーバーフローしないことを確認してください。

+0

私はそれをマルチセルにしようとしましたが、それはその下の列を台無しにします。ですから、私に例を挙げれば、本当に役に立ちます – Red

+0

https://stackoverflow.com/questions/13559330/fpdf-print-multicell-adjacentlyあなたは基本的にすべてのセルコールをMultiCellに置き換えます –