我正在使用 "dompdf/dompdf": "^0.8.3"进行 PDF 打印。
我有一个简单的表格,其中包含带有大文本内容的行 tds ... 例如:
<!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>
当我使用 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/