我正在尝试将包含单个表(其td包含图像或文本)的html页面转换为pdf。我正在使用weasyprint作为python模块。
我的问题是weasyprint在列中间插入分页,这是我不想要的。
我想做的是:
表的大小(行/列的数量)是可变的(我事先不知道)。
我试过的东西:
1.
我尝试使用css page.size属性来更改页面大小,但由于事先不知道表的大小,所以无法工作。
2.
我尝试添加以下内容
body html{
height: 100%;
}并且添加了大量的display:block,但这些只是使滚动条出现,它不会调整内容的大小以适应。
3.
我尝试使用
table {
break-inside: avoid;
}但这并没有改变什么
发布于 2022-08-12 17:20:38
对于您遇到的问题,似乎没有一个特定的解决方案。一个合适的方法是在要拆分的表之前手动插入分页。
可以使用以下样式完成此操作:
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>
https://stackoverflow.com/questions/73184642
复制相似问题