【问题标题】:Line height in fpdf multicellfpdf多单元格中的行高
【发布时间】:2012-03-22 03:09:34
【问题描述】:

我正在使用 fpdf multicell 来显示地址。地址中的每一行都将显示在一个新行中,例如:

           102 South Avenue
           Suite 107
           Scottsdale AZ 85260
           111-000-1111

但是每行之间的行高不止一个新行。知道如何在 FPDF 中设置 MultiCell 的行高吗?

【问题讨论】:

    标签: php fpdf


    【解决方案1】:

    高度是多单元格中每个文本行的高度,而不是整个多单元格元素的高度。

    multiCell 所做的是将给定的文本分散到多个单元格中,这意味着第二个参数定义了每行(单个单元格)的高度,而不是所有单元格的高度。

    MultiCell(float w, float h, string txt [, 混合边框[, string align [, boolean fill]]])

    您可以阅读完整的文档here

    【讨论】:

      【解决方案2】:

      根据FPDF manualMultiCell定义为

      MultiCell(float w, float h, string txt [, mixed border [, string align [, boolean fill]]])

      其中 h 是“单元格的高度”。

      这有点令人困惑,因为 h 是普通语言中的“行高”——以及您要查找的参数。

      【讨论】:

      • 由于这个问题以及其他几个问题,我切换到了 TCPDF。与 FPDF 函数相比,TCPDF 更加灵活。
      • 太棒了! TCPDF 是一个更好的选择。根据上面的信息:“// 这个类最初是在 2002 年从 Olivier Plathey (fpdf.org) 的 Public // 域 FPDF 类派生的,// 但现在几乎完全重写并包含数千个 // 新行代码和数百个新功能。”
      【解决方案3】:
      //reduce line height
      $lineHeight=4;
      
      $pdf->Cell(150, '102 South Avenue', 1, 0, 'L', true);
      $pdf->Ln();
      $pdf->Cell(150, 'Suite 107', 1, 0, 'L', true);
      $pdf->Ln();
      $pdf->Cell(150, 'Scottsdale AZ 85260', 1, 0, 'L', true);
      $pdf->Ln();
      $pdf->Cell(150, '111-000-1111', 1, 0, 'L', true);
      
      //The Second column in the Cell adjusts line height size
      

      【讨论】:

        【解决方案4】:
        1. 您可以使用名为 advanced table 的库,女巫让这种事情变得轻而易举。

        2. 你可以做 this guy 所做的事情,包括添加空格,直到每列都有足够的新行

        我的推荐是图书馆,虽然它的成本大约是 8 美元……相信我,为了节省时间值得。

        【讨论】:

        • 如何使用这个库调整行高?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-27
        • 2013-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-08
        • 1970-01-01
        相关资源
        最近更新 更多