18

私はTCPDFでHTMLテーブルを作成しようとしています.いくつかの行は行間に大きなスペース(パディング)を持ち、他の行は小さなパディングを持っています.

$html = '<table border="0" cellpadding="6">
        <tr>
            <td style="width="52%">' . lang('ticket_name') . '</td>
            <td style="width="18%">' . lang('ticket_price') . '</td>
            <td style="width="12%">' . lang('quantity') . '</td>
            <td style="width="18%">' . lang('total') . '</td>
        </tr>
    <tr>
            <td style="padding: 10px">' . $item['name'] . '</td>
            <td style="padding: 10px">' . $item['unit_price'] . '</td>
            <td style="padding: 10px">' . $item['quantity'] . '</td>
            <td style="padding: 10px">' . $item['row_total'] . '</td>
        </tr>
        <tr>
            <td style="text-align:right" colspan="3">' . lang('price_basis') . ': </td>
            <td>' . $totals['total_before_tax'] . '</td>
        </tr>
            <tr>
            <td style="text-align:right" colspan="3">' . 'Ukupni popust' . ': </td>
            <td>' . $totals['total_discount'] . '</td>
        </tr>
            <tr>
            <td style="text-align:right" colspan="3">' . 'Sveukupno' . ': </td>
            <td>' . $totals['grand_total'] . '</td>
        </tr>
    </table>';
$pdf->writeHTML($html, $linebreak = true, $fill = false, $reseth = true, $cell = false, $align = '');

ご覧のとおり、table タグに cellpadding 属性があり、正常に機能していますが、2 行目に別のパディングを設定したいと考えています。パディング スタイルは明らかに 'td' タグでも 'tr' タグでも機能しません。

セルパディングが異なる2つの別々のテーブルで実行できることはわかっていますが、かなり間違っているようです。別の方法があるはずです。

4

2 に答える 2

0

ここでの他の回答では、すべてのパディングが提供されますが、上部または下部にパディングが必要な場合の解決策は、高さ/幅が設定された透明な PNG を使用することです。

private function padding($width,$height){
    return '<img src="/imagepath/images/transparent.png" width="'.$width.'" height="'.$height.'">'; 
}

次に、パディングが必要な TD で:

$this->padding(82,11)

したがって、表のセルに定義された幅が必要です。これは左右のパディングでも機能する可能性がありますが、試したことはありません。

于 2018-07-04T11:32:03.213 に答える