FPDF - 换行不起作用

时间:2014-06-05 16:21:18

标签: php html pdf line-breaks fpdf

我刚刚开始使用FPDF而且我的文档中存在一个问题,其中换行不起作用。

Ln()函数会将我返回到我当前所在行的开头。这只是一个烦恼,因为我通过它传递一个设定值来划分线条。

我的主要问题是,对于MultiCell(),当涉及到\ n时,它只是到同一行的开头并将所有文本堆起来。

代码:

<?php
require_once('fpdf/fpdf.php');
$lineBreak=0.21;
$pdf = new FPDF('P','in',array(4,6));
$pdf->AddPage();
$pdf->SetMargins(0.2,0.2,0.2);
$pdf->SetFont('Times','BU',12);
$pdf->SetXY(0.2,0.3);
$pdf->Cell(0,0,'Part Number:',0,2,'L',false);
$pdf->SetFont('Times','B',12);
$pdf->SetXY(0.2,0.3);
$pdf->Cell(0,0,'Item 1',0,1,'R',false);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','',12);
$pdf->Cell(0,0,'pn',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','BU',12);
$pdf->Cell(0,0,'Description:',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','',12);
$pdf->Cell(0,0,'desc',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','BU',12);
$pdf->Cell(0,0,'Quantity:',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','',12);
$pdf->Cell(0,0,'2',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','BU',12);
$pdf->Cell(0,0,'Order Number:',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','B',12);
$pdf->Cell(0,0,'no1',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->Cell(0,0,'no2',0,1,'L',false);
$pdf->Ln($lineBreak);
$pdf->Ln($lineBreak);
$pdf->SetFont('Times','BU',14);
$pdf->Cell(0,0,'label:',0,1,'C',false);
$pdf->MultiCell(0,0,"A bunch \n of text where line breaking \n does not work",1,'C',false);
$pdf->Output();
?>

以下是它的显示方式: http://i.imgur.com/qlMrNQs.png

1 个答案:

答案 0 :(得分:2)

您只需定义一个height参数,它是两个方法的第二个参数(Cell / MultiCell)。对于MultiCell,height参数应该是由它创建/绘制的每个单元格的高度 - 而不是总高度。

您可以尝试启用单元格上的边框,看看如果将高度保持为“0”会发生什么。

如果您定义高度,则可以省略Ln()调用的height参数,因为最后使用的单元格高度会自动使用。