html - Dompdf:强制表行拆分为 2 页

标签 html css dompdf

我正在使用 "dompdf/dompdf": "^0.8.3"进行 PDF 打印。

我有一个简单的表格,其中包含带有大文本内容的行 td​​s ... 例如:

<!DOCTYPE html>
<html>

<head>
</head>

<body>
    <table>
        <thead>
            <tr>
                <th>PRODUCT</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1-----
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                </td>
            </tr>
            <tr>
                <td>2-----
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                </td>
            </tr>
            <tr>
                <td>3-----
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                </td>
            </tr>
            <tr>
                <td>4-----
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                </td>
            </tr>
            <tr>
                <td>5-----
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
                </td>
            </tr>
        </tbody>
    </table>
</body>

</html>

enter image description here

当我使用 A4 尺寸页面打印时,我想在可用空间的第一页打印第 4 行的一部分,然后在下一页继续打印其余文本。但似乎所有第 4 行都移到了第二页。有什么办法可以根据我的要求强制执行此操作(使用 css 或通过 dompdf 设置)?

我已尝试使用以下 css 进行分页:

table {
    page-break-inside: auto;
}

table tr {
    page-break-inside: auto;
}

table tr td {
    page-break-inside: auto;
}

但他们从来没有帮助我将一行分成两页。

感谢您的快速反馈..

干杯!

最佳答案

Dompdf(截至本文发布时目前为 0.8.3)不支持跨页拆分表行。这是 Dompdf 的一个长期存在的问题(引用 https://github.com/dompdf/dompdf/issues/98)。

如果您的特定内容遵循您提供的示例,则看起来并不需要表格结构,因为它每行只有一个单元格。您可以使用简单的 DIV 元素很好地复制该结构。

唯一的问题是表格标题。如果示例真正反射(reflect)了您的输出,您可以改用页眉。

大致如下:

<!DOCTYPE html>
<html>

<head>
  <style>
    @page { margin-top: 50px; }
    #header { position: fixed; top: -50px; left: 0px; right: 0px; padding: 10px; text-align: center; font-weight: bold; }
  </style>
</head>

<body>

  <div id="header">
    PRODCUT
  </div>

  <div>
  1-----
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
    MCHBMES1 -- MCHBMES1 -- MCHBMES1 -- MCHBMES1 --
  </div>

</body>

</html>

关于html - Dompdf:强制表行拆分为 2 页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54473205/

相关文章:

html - 嵌套表格以百分比宽度对齐

css - 如何垂直对齐图像,即div旁边的动态高度

html - 能够从内置样式选择工具更改网站 CSS

php - DOMPDF 更改 html 元素位置

html - DOMPDF 自动换行

javascript - 为什么 &lt;script&gt; 在 HTML 中对 window.onload 事件的定位很重要?

html - Data URI 的减速页面

javascript - 突出显示所选菜单项不起作用

html - 有序列表 1, 1.1, a

html - DOMPDF - 有序列表 - 计数器问题