如果当前 td 有长文本,TCPDF 会忽略早期 td 的宽度

TCPDF disregards width of earlier td if current td has long text

我在尝试使用 TCPDF 从我的 html 创建 pdf 时遇到了一个奇怪的问题。我正在使用

$pdf->writeHTML($myHTML, true, 0, true, 0);

写我的 html 内容并在 pdf 中

<tr>
    <td style="width: 2%"></td>
    <td style="width: 48%;text-align: left;">
        <?php echo $text; ?>            
        <br />
        <table>
            <tr>
                <td style="width:10px;"></td>
                <td style="font-size: 22px;"><?php echo $comment;?></td>
            </tr>
        </table>            
    </td>
    <td style="width: 8%;"><?php echo $dur?></td>
    <td style="width: 8%;"><?php echo ''; ?></td>
    <td style="width: 12%;"><?php echo $xyz; ?></td>
    <td style="width: 11%;"><?php echo Price(); ?></td>
    <td style="width: 11%;"><?php echo new_Price() : ''; ?></td>
</tr>

从图中我们可以看出,当单元格中的文本长度大于宽度时;换行符,并在 "Successful".

之前忽略宽度为 2% 的 td

下面 $comment 中的另一个文本也是如此,在 "nothing" 之前它忽略了 td。

如何才能正确对齐。

仍有待回答

我仍然找不到更好的答案。我发布这个答案以防其他人面临同样的问题并且正在寻找紧急解决方案。

<td style="width: 48%;text-align: left;">
    <?php echo wordwrap($text, '70',"<br \>\n &nbsp;&nbsp;&nbsp;"); ?>            
        <br />
        <table>
            <tr>
                <td style="width:10px;"></td>
                <td style="font-size: 22px;"><?php echo wordwrap($comment, '70',"<br \>\n &nbsp;&nbsp;&nbsp;"); ?></td>
            </tr>
        </table>
</td>

我知道这是一个老问题,但我最近遇到了类似的问题。

TCPDF 将用于代码结构的空格和缩进显示为空格。

一个解决方案是不使用空格和缩进进行结构化,但这可能会非常混乱,所以我去掉所有双空格,然后编写 pdf。

$html =  preg_replace('/\s\s+/', '', $html);
$pdf->writeHTML($html, true, false, true, false, '');