TCPDF 不打印包含 colspan 的 table 行?
TCPDF not printing table rows containing colspan?
我正在尝试在 TCPDF 中打印此 table,table 渲染正常,但它完全跳过了带有 colspan 的 <tr>
行,这发生在唯一一行第一个 <td colspan="8">
单元格带有 colspan。
这是 html table 那:
<table style="font-size:7px;line-height:16px;border:none;" dir="ltr" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:17%;"></td>
<td>YTD</td>
<td>2019</td>
<td>2018</td>
<td>2017</td>
<td>2016</td>
<td>2015</td>
<td>2014</td>
</tr>
<tr>
<td>Portfolio</td>
<td>-3.63%</td>
<td>14.51%</td>
<td>-5.11%</td>
<td>11.16%</td>
<td>8.48%</td>
<td>-2.13%</td>
<td>2.45%</td>
</tr>
<tr>
<td>Benchmark </td>
<td>-1.64%</td>
<td>9.78%</td>
<td>-3.84%</td>
<td>7.37%</td>
<td>2.92%</td>
<td>-2.66%</td>
<td>0.08%</td>
</tr>
<tr>
<td colspan="8">Morningstar USD Cautious Allocation</td>
</tr>
<tr>
<td></td>
<td>
<p class="double-line">Annualised Return</p>
</td>
<td>
<p class="double-line">Standard Deviation</p>
</td>
<td>
<p class="double-line">Sharpe Ratio</p>
</td>
<td colspan="4"></td>
</tr>
<tr>
<td>Portfolio</td>
<td>4.45%</td>
<td>5.72%</td>
<td>0.78</td>
<td colspan="4"></td>
</tr>
<tr>
<td>Benchmark </td>
<td>2.08%</td>
<td>2.44%</td>
<td>0.85</td>
<td colspan="4"></td>
</tr>
</tbody>
</table>
浏览器页面输出正常(见图)
但 PDF 的输出完全删除了该行:
问题已解决,问题不在 TCPDF 中,而是 table 行 </tr>
没有正确的结束标记。上面的 table 来自 custom field
存储在 wordpress 站点的数据库中。由于 html 是通过 php 代码生成的,所以我有一个小的编码错误,我忘记用 </tr>
关闭该行。但是,在 wordpress 所见即所得编辑器中查看 html 内容时,它会添加自闭标签。当您在浏览器页面上调试它时,大多数浏览器也会添加自动关闭标签。这些让我觉得 table 的 html 结构很好,应该是 TCPDF
的问题。检查数据库中的 HTML 后,我终于发现 table 行没有正确关闭。
希望这对以后遇到类似问题的人有所帮助。
我正在尝试在 TCPDF 中打印此 table,table 渲染正常,但它完全跳过了带有 colspan 的 <tr>
行,这发生在唯一一行第一个 <td colspan="8">
单元格带有 colspan。
这是 html table 那:
<table style="font-size:7px;line-height:16px;border:none;" dir="ltr" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:17%;"></td>
<td>YTD</td>
<td>2019</td>
<td>2018</td>
<td>2017</td>
<td>2016</td>
<td>2015</td>
<td>2014</td>
</tr>
<tr>
<td>Portfolio</td>
<td>-3.63%</td>
<td>14.51%</td>
<td>-5.11%</td>
<td>11.16%</td>
<td>8.48%</td>
<td>-2.13%</td>
<td>2.45%</td>
</tr>
<tr>
<td>Benchmark </td>
<td>-1.64%</td>
<td>9.78%</td>
<td>-3.84%</td>
<td>7.37%</td>
<td>2.92%</td>
<td>-2.66%</td>
<td>0.08%</td>
</tr>
<tr>
<td colspan="8">Morningstar USD Cautious Allocation</td>
</tr>
<tr>
<td></td>
<td>
<p class="double-line">Annualised Return</p>
</td>
<td>
<p class="double-line">Standard Deviation</p>
</td>
<td>
<p class="double-line">Sharpe Ratio</p>
</td>
<td colspan="4"></td>
</tr>
<tr>
<td>Portfolio</td>
<td>4.45%</td>
<td>5.72%</td>
<td>0.78</td>
<td colspan="4"></td>
</tr>
<tr>
<td>Benchmark </td>
<td>2.08%</td>
<td>2.44%</td>
<td>0.85</td>
<td colspan="4"></td>
</tr>
</tbody>
</table>
浏览器页面输出正常(见图)
但 PDF 的输出完全删除了该行:
问题已解决,问题不在 TCPDF 中,而是 table 行 </tr>
没有正确的结束标记。上面的 table 来自 custom field
存储在 wordpress 站点的数据库中。由于 html 是通过 php 代码生成的,所以我有一个小的编码错误,我忘记用 </tr>
关闭该行。但是,在 wordpress 所见即所得编辑器中查看 html 内容时,它会添加自闭标签。当您在浏览器页面上调试它时,大多数浏览器也会添加自动关闭标签。这些让我觉得 table 的 html 结构很好,应该是 TCPDF
的问题。检查数据库中的 HTML 后,我终于发现 table 行没有正确关闭。