首页 > 解决方案 > 具有行跨度的表中的 Wkhtmltopdf 分页符打破了行跨度

问题描述

我正在使用 Laravel 8、Snappy 和 wkhtmltopdf 0.12.4(带有修补的 qt)。我生成了一个具有以下结构的 HTML 表:

<table class="table table-bordered">
    <thead>
        <tr>
            <td>Col 1</td>
            <td>Col 2</td>
            <td>Col 3</td>
            <td>Col 4</td>
            <td>Col 5</td>
            <td>Col 6</td>
            <td>col 7</td>
            <td>col n</td>
            <td>col n+1</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td rowspan="13">Title 1</td>
            <td rowspan="13">Sub-title 1</td>
            <td> x </td>
            <td></td>
            <td> 10.5-12 </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    12.260
                </a>
            </td>
            <td>
                <a href="#">
                    12.300
                </a>
            </td>
        </tr>
        <tr>
            <td> y</td>
            <td> mgE/l </td>
            <td></td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    0.080
                </a>
            </td>
            <td>
                <a href="#">
                    0.080
                </a>
            </td>
        </tr>
        <tr>
            <td> z </td>
            <td> mmol/l </td>
            <td> 0.04 </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    0.040
                </a>
            </td>
            <td>
                <a href="#">
                    0.040
                </a>
            </td>
        </tr>
        <tr>
            <td> a </td>
            <td> mgE/l </td>
            <td></td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    20.800
                </a>
            </td>
            <td>
                <a href="#">
                    23.300
                </a>
            </td>
        </tr>
        <tr>
            <td> b </td>
            <td> mgE/l </td>
            <td> 25 </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    23.500
                </a>
            </td>
            <td>
                <a href="#">
                    26.400
                </a>
            </td>
        </tr>
        <tr>
            <td> c </td>
            <td> mg/l </td>
            <td></td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    129.000
                </a>
            </td>
            <td>
                <a href="#">
                    148.000
                </a>
            </td>
        </tr>
        <tr>
            <td> d </td>
            <td> mg/l </td>
            <td> &lt; 0.3 </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    0.430
                </a>
            </td>
            <td>
                <a href="#">
                    1.230
                </a>
            </td>
        </tr>
        <tr>
            <td> e </td>
            <td> μS/cm </td>
            <td> &lt; 8000 </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    5320.000
                </a>
            </td>
            <td>
                <a href="#">
                    5960.000
                </a>
            </td>
        </tr>
        <tr>
            <td> f </td>
            <td> bar </td>
            <td></td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td> g </td>
            <td></td>
            <td> miss </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    miss
                </a>
            </td>
            <td>
                <a href="#">
                    miss
                </a>
            </td>
        </tr>
        <tr>
            <td> h </td>
            <td></td>
            <td> miss </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    value
                </a>
            </td>
            <td>
                <a href="#">
                    value
                </a>
            </td>
        </tr>
        <tr>
            <td> i </td>
            <td></td>
            <td> miss </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    miss
                </a>
            </td>
            <td>
                <a href="#">
                    miss
                </a>
            </td>
        </tr>
        <tr>
            <td> j </td>
            <td></td>
            <td> miss </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    miss
                </a>
            </td>
            <td>
                <a href="#">
                    miss
                </a>
            </td>
        </tr>
        <tr>
            <td rowspan="13">Title 2</td>
            <td rowspan="13">Sub-title 2 </td>
            <td> k </td>
            <td></td>
            <td> 10.5-12 </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    11.420
                </a>
            </td>
            <td></td>
        </tr>
        <tr>
            <td> l </td>
            <td> mgE/l </td>
            <td></td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    0.000
                </a>
            </td>
            <td></td>
        </tr>
        <tr>
            <td>m</td>
            <td> mmol/l </td>
            <td> 0.04 </td>
            <td>
                <span>N/A</span>
            </td>
            <td></td>
            <td>
                <a href="#">
                    &lt;0.010
                </a>
            </td>
            <td></td>
        </tr>
    </tbody>
</table>

根据数据,此表可以按列和按行增长。放入 PDF 时,分页符放置在行之间,但第一个和第二个单元格在页面之间分开,并且它们的文本有时会被重复的标题重叠。分页表时似乎没有考虑行跨度。我想避免非行跨单元格之间的分页符。

标签: htmllaravelwkhtmltopdf

解决方案


推荐阅读