【问题标题】:FPDF table cell paddingFPDF 表格单元格填充
【发布时间】:2018-09-09 06:29:29
【问题描述】:

我已经使用 FPDF 中的单元格创建了表格。但是我无法为单元格提供填充,并且文本开始正好靠近边距。我们如何在文本的开头提供填充空间。

我已在此处附上代码

    $w = array(90, 20, 20, 12, 20);
    for($i=0;$i<count($header);$i++)
    {
            $this->Cell($w[$i],7,$header[$i],1,0,'L',true);     
    }

输出如下

但我希望它显示为如下左填充

【问题讨论】:

  • 你试过SetMargins吗?
  • @gonutz 是的..没有成功
  • 请问您在哪里输入了 setMargins 函数?从该位置可能不会给您想要的结果。也许您可以尝试使用 setLeftMargin 插入类似的内容:“$ pdf-> SetLeftMargin(20); // 2cm”。我先做了一个测试,没有任何问题。让我知道这是否有效。
  • 试试这个... $this->Cell($w[$i],7,' '.$header[$i],1,0,'L',true);

标签: fpdf


【解决方案1】:

FPDF 类具有单元格边距的受保护属性:

protected $cMargin;            // cell margin

我不确定添加此属性是否晚于该问题的原始帖子,但它在版本:1.83 中可用。但是,没有设置此值的方法,因此最好扩展类并添加您自己的。例如:

class MyFPDF extends FPDF
{
    function SetCellMargin($margin) { $this->cMargin = $margin; }
}

将类名“MyFPDF”更改为您想要的任何名称。您需要使用此类名称而不是“FPDF”来构建 PDF,并将值设置为您希望的值:

$pdf = new MyFPDF();
$pdf->SetCellMargin(4);

【讨论】:

    【解决方案2】:

    $this -&gt; Cell(80);

    // 向右移动8厘米,下面的单元格在同一条线上

    $this -&gt; Cell($w[$i], 7, $header[$i], 1, 0, 'L', true);

    【讨论】:

      【解决方案3】:

      我通过在字符串中添加更多空间来做到这一点。例如, '...... .. 。 . . . . .Stock Code'(将 '.' 替换为空格)。

      这是一种硬核方式,但它对我有用。

      【讨论】:

        猜你喜欢
        • 2017-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-22
        • 2020-09-12
        • 1970-01-01
        • 1970-01-01
        • 2010-11-12
        相关资源
        最近更新 更多