TCPDF:HTML表和分页符

Kon*_*ney 25 php tcpdf

我正在创建一个大型HTML表格,我遇到了分页问题,​​如下图所示:
在此输入图像描述
有没有一种方法可以自动解决问题?或者这样做的方法是什么?

Fas*_*ack 68

尝试将此添加到您的<tr>代码:nobr="true".

所以一个简单的例子是:

<table>
    <tr nobr="true">
        <td>Test</td>
        <td>Test 2</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

nobr="true"从不断分崩离析防止表行.你也可以把它<td><th>标签放在一起.

  • 我只想补充一点,****有双引号.TCPDF中的解析器显然不会查找包含在单引号中的这些属性.我有问题让这个工作,因为我使用单引号,一旦我切换到双引号一切开始工作. (3认同)

小智 9

我知道这是一个相当古老的问题,但今天我遇到了同样的问题,我的表格在页面之间分开了,我从FastTrack的答案中进一步研究了这个方法,结果发现你也可以将这个nobr="true"属性用于<table>标签.也就是说,对我来说这样的代码解决了这个问题:

<table nobr="true">
    <tr>
        <td>Test</td>
        <td>Test 2</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

警告 - 只有当您的表小于一页时,此代码才有意义.


小智 7

我有重叠标题的相同问题.我尝试了yevgeny解决方案,但这需要我的PDF生成器代码的更多版本(我有很多用FPDF编写的PDF输出,我想最小化将它们编程到TCPDF的过程),所以我用这个更简单的解决方案

class MYPDF extenfs TCPDF {
    //your initialization code
    function header(){
        //your code here

        //we change only the top margin and this executes for every header in every page, even the frst one
        $this->SetTopMargin($this->GetY());
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 1

对于有兴趣的人,只需执行以下操作,它就会像魅力一样发挥作用:

$pdf->SetMargins(0, 0, 0);
$pdf->SetHeaderMargin(0);
$pdf->SetFooterMargin(0);
Run Code Online (Sandbox Code Playgroud)