【问题标题】:Using Codeigniter to generate TCPDF Table with MultiCell height/cell adjustment使用 Codeigniter 生成具有 MultiCell 高度/单元格调整的 TCPDF 表
【发布时间】:2016-06-10 06:15:04
【问题描述】:

我正在尝试使用 TCPDF 生成 PDF 报告,我正在从数据库中获取数据并创建 PDF TABLE。但在我使用 MultiCell 的特定单元格中,细节堆叠在一个区域,我将 MultiCell 用于 thi Cell。下面是我的输出文件。

下面是我的控制器代码

$slno=0;
        $pdf->cell(1);
        $pdf->SetFontSize(10);
        $pdf->SetFont('Helvetica', 'B');
        $pdf->Cell(8, 10, 'SL', 'LTRB', 0, 'C', FALSE);
        $pdf->Cell(24, 10, 'Applied Date', 'LTRB', 0, 'C', FALSE);
        $pdf->Cell(22, 10, 'Start Date', 'LTRB', 0, 'C', FALSE);
        $pdf->Cell(22, 10, 'End Date', 'LTRB', 0, 'C', FALSE);
        $pdf->MultiCell(12, 10, 'No. of Days', 'LTRB', 0, 'C', FALSE);
        $pdf->Cell(40, 10, 'Reason', 'LTRB', 0, 'C', FALSE);
        $pdf->Cell(30, 10, 'Category', 'LTRB', 0, 'C', FALSE);
        $pdf->Cell(20, 10, 'Status', 'LTRB', 1, 'C', FALSE);

            foreach($result->result() as $key){

                $pdf->cell(1);
                $pdf->SetFontSize(10);
                $pdf->SetFont('Helvetica', '');
                $pdf->Cell(8, 10, ++$slno, 'LBR', 0, 'C', FALSE);
                $pdf->Cell(24, 10, $key->application_date, 'LBR', 0, 'C', FALSE);
                $pdf->Cell(22, 10, $key->start_date, 'LBR', 0, 'C', FALSE);
                $pdf->Cell(22, 10, $key->end_date, 'LBR', 0, 'C', FALSE);
                $pdf->Cell(12, 10, $key->number_of_days, 'LBR', 0, 'C', FALSE);
                $pdf->MultiCell(40, 10, $key->reason, 'LBR', 0, 'C', FALSE);
                $pdf->Cell(30, 10, $key->leave_type, 'LBR', 0, 'C', FALSE);
                $pdf->Cell(20, 10, $key->status, 'LBR', 1, 'C', FALSE);
            }

我通过网络尝试了所有其他方法,但我对结果不满意。有没有其他方法可以让这张桌子看起来合适?请大家帮忙...

【问题讨论】:

    标签: codeigniter pdf tcpdf


    【解决方案1】:

    最好使用writeHTML,它使用 html 创建表。因为我尝试了调整多单元格的解决方案,但问题是通过调整每行允许的字符的最大长度手动没有解决方案。每个字符的宽度都不相同。 你可以在http://www.tcpdf.org/examples.php查看示例

    附加:

    例如,您要求使用此方法从数据库中获取数据 首先你需要为你的表头声明变量

    $html = '<table>
               <tr>
                  <th>Column 1</th>
                  <th>Column 2</th>
                  <th>Column 3</th>
                  <th>Column 4</th>
               </tr>';
     foreach($result->result() as $key){
         $html .= '<tr>
                      <td>'.$key->column1.'</td>
                      <td>'.$key->column2.'</td>
                      <td>'.$key->column3.'</td>
                      <td>'.$key->column4.'</td>
                   </tr>';
      }
      $html .= '</table>';
    

    然后你可以写出那个变量。 这是评论中您的附加问题的简单示例。 您可以使用您的 HTML 技能进行改进。但请记住,TCPDF 不完全支持 CSS。 希望对你有帮助。

    【讨论】:

    • 我现在正在尝试使用writeHTML。但是如何在这个概念中从数据库中获取数据到表中呢?任何示例都会有所帮助。
    • 请检查答案,我用例子更新了。
    • 知道了,我的朋友。做了和上面一样的。 :)
    • 你的意思是结果和以前一样,没有解决你的问题?
    • 我按照建议使用了 HTML。
    猜你喜欢
    • 2016-03-08
    • 2016-07-13
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多