黄页打印单页html



我正在尝试将包含单个表(其td包含图像或文本(的html页面转换为pdf。我使用weasyprint作为python模块。

我的问题是黄页打印在列的中间插入分页符,这是我不希望的。

我想做的是:

  • 重新缩放页面以适应页面高度
  • 更改页面高度以适应内容的高度

表的大小(行/列的数量(是可变的(我事先不知道(。

我尝试过的事情:

1

我尝试使用css page.size属性来更改页面大小,但它不起作用,因为我事先不知道表的大小。

2

我尝试添加以下

body html{
height: 100%;
}

并添加了很多display:block,但这些只是让滚动条出现,它不会根据需要调整内容的大小。

3

我尝试使用限制分页符

table {
break-inside: avoid;
}

但它没有改变任何

您遇到的问题似乎没有特定的解决方案。一个合适的解决方法是在要拆分的表之前手动插入分页符。

这可以使用以下样式完成:

break-before: page;

你可以在这里阅读更多关于

示例

您可以通过删除.break-before类来尝试此示例

.break-before {
break-before: page;
}
.m-top {
margin-top: 90vh;
}
<body>
<table class="m-top break-before">
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
</table>
</body>

最新更新