我正在使用php中的FPDF(http://www.fpdf.org/)类打印一个单元格。单元格应放在左上角。
除了在单元格内添加左边距之外,一切都很好。
这是我的代码:
$pdf = new FPDF('L', 'mm', array(50.8,88.9));
$pdf->addPage('L', array(50.8,88.9));
$pdf->SetDisplayMode(100,'default');
$pdf->SetTextColor(0,0,0);
$pdf->SetMargins(0,0,0);
$pdf->SetAutoPageBreak(0);
$pdf->SetFont('Arial','',8.5);
$pdf->SetXY(0, 0); //sets the position for the name
$pdf->Cell(0,2.98740833, "Your Name", '1', 2, 'L', false); //Name
以下是使用FPDF输出的PDF的屏幕截图:
为什么在php中使用FPDF的单元格中有左边的填充?如何删除填充?
答案 0 :(得分:16)
我知道这是超级老,但我已经修复了同样的问题,所以也许有人会觉得它很有用。
FPDF类中有一个名为$ cMargin的属性,它用于计算文本在单元格中打印之前的x偏移量,但似乎没有为它设置setter。它是一个公共属性,因此在您实例化FPDF类之后,只需调用:
$pdf = new fpdf('P','mm','A4');
$pdf->cMargin = 0;
你的细胞不再有左边的填充物。
答案 1 :(得分:5)
小修正更新
<?php
require("fpdf.php");
class CustomFPDF extends FPDF{
function SetCellMargin($margin){
// Set cell margin
$this->cMargin = $margin;
}
}
?>
<?php
$pdf = new CustomFPDF();
$pdf->setCellMargin(0);
?>
答案 2 :(得分:2)
我无法弄清楚如何移除填充。
作为一种解决方法,无论字体大小如何,知道它似乎是1毫米是很有用的。使用右对齐文本在右边缘应用相同的填充。
答案 3 :(得分:2)
我遇到了同样的问题。只有第一行有这个不必要的余量,所以我的解决方法是:
$pdf->Ln(); //workaround for 1st line
$pdf->Cell(..);
答案 4 :(得分:1)
您是否尝试过SetMargins(0,0)
?
<强> SetMargins 强>
SetMargins(float left, float top [, float right])
描述
定义左边距,上边距和右边距。 默认情况下,它们等于1厘米。调用此方法更改它们。
答案 5 :(得分:0)
在AddPage
之前使用SetMargins示例:
$pdf=new PDF();
$pdf->SetMargins(23, 44, 11.7);
$pdf->AliasNbPages();
$pdf->AddPage();