【问题标题】:FPDF Multicell text wrappingFPDF 多单元文本换行
【发布时间】:2017-09-03 06:35:55
【问题描述】:

您好,先生,您可以帮我解决我的问题。请我需要我的论文。我想使用多单元格将文本包装在我的单元格中。我尝试观看视频并在这里寻找相同的问题,但我无法解决。请帮助我了解如何做到这一点。如果你给我例子或者有更好的pdf生成器,那将非常有帮助。

这是我的代码

<?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);
    }
}

这就是它的样子

【问题讨论】:

标签: php fpdf


【解决方案1】:

看起来您可能希望 $data['speaker_description'] 在太长时换行。无论如何,如果不是这样,您可以对所有列执行此操作。

您可以使用 FPDF GetStringWidth() 来查看它是否会大于您建议的宽度,然后它们会在每一列上使用 MultiCell() 而不是 Cell()。另外,请注意,如果您没有指定$pdf-&gt;SetAutoPageBreak( false);,则需要这样做(在到达底部时添加页面)并确保在添加新页面之前,最后一个单元格不会溢出到下面的页面中.

【讨论】:

  • 我试图使它成为多单元格,但它弄乱了它下面的行。所以如果你给我一个例子,那真的很有帮助
  • stackoverflow.com/questions/13559330/… 你基本上会用 MultiCell 替换你所有的手机通话
猜你喜欢
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 2012-02-04
  • 2018-04-27
  • 2015-05-04
  • 1970-01-01
相关资源
最近更新 更多