我使用html2pdf生成pdf文件(即使用tcpdf库,_tcpdf_5.0.002)。不幸的是,我无法正确生成表格边框。
require_once('inc/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','en');
$pdf_output = '';
// HEADER
$pdf_output .='<page backtop="8mm" backbottom="8mm" backleft="10mm" backright="10mm" style="font-size: 11px;font-family:freeserif;">';
$pdf_output .= '<style>
table {
border-collapse:collapse;
}
</style>';
$pdf_output.='<table>';
$pdf_output.= '<tr><td style="border-top: 1px solid black;">A</td></tr>';
$pdf_output.= '<tr><td style="border-top: 1px solid black;">A</td></tr>';
$pdf_output.= '<tr><td style="">A</td></tr>';
$pdf_output.= '<tr><td style="border-top: 1px solid black;">A</td></tr>';
$pdf_output.='</table>';
$pdf_output .='</page>';
$html2pdf->WriteHTML($pdf_output);
$attachment= $html2pdf->Output('attachment.pdf', 'S');
...
它不显示单元格的顶部边框。它仅显示第一行的顶部边框,而不显示其他行的顶部边框。我已经简化了这个html标记用于测试目的(实际上它不会在一个单元格中呈现“A”字母,内容在不同的列中,但顶部边框也不呈现)。
如何使用html2pdf(tcpdf)渲染单元格的上边框?
答案 0 :(得分:2)
答案 1 :(得分:2)
只需为表格标签添加边框
i=90000
while ((i<=100000)); do
...
((i+=20));
done
答案 2 :(得分:1)
解决方法是使用<hr>
标记。
答案 3 :(得分:1)
这个快速简便的解决方案,请像这样使用
$pdf_output.= '<tr><td style="border-top-color:#000000;border-top-width:1px;border-top-style:solid;">A</td></tr>';
我希望这会很好用,因为我在pdf生成中使用它,它对我来说效果很好。
答案 4 :(得分:0)
原始解决方案不起作用,将其留在最后并尝试其他方法:
不要使用边框,而是在单元格上方添加一个空行以接收border-top,并将其单元格设置为黑色,高度为1px。 在应该有边框的每一行之前:
<tr><td style="background-color:#000;height:1px;font-size:0px;">&nbps;</td></tr>
- ORIGINAL -
html2pdf的html样式还不是很强大......我之前偶然发现了类似的问题,如果你想要像边框顶部这样的花哨造型,我建议你使用除桌子之外的其他元素......如果你可以的话快乐使用,很好。否则,改为
$pdf_output.= '<div><span style="border-top: 1px solid black;">A</span></div>';
我没有测试过,因为我不是在开发PC上,但你可以做到
style="border-top: 1px solid black;display:inline-block;width:50px"
使您的跨度具有相同的宽度,看起来像是一张桌子。