WeasyPrint:修复了每个 pdf 页面上长 table 重叠的页脚标签
WeasyPrint: fixed footer tag overlapped by long table on each pdf page
我用 Django 生成了一个 table,感谢 WeasyPrint,我以 pdf 格式呈现。
这个 table 可能真的很长(行数),因此可能以几页 pdf 结果结束。我必须在页面的每一端包含一个静态页脚,所以我应用了 css fixed 规则。
我的问题是这个页脚被很长的 table 重叠了。我如何要求 WeasyPrint(我认为是通过 css)打破每个页脚前的 table 并继续在下一页呈现 table?
<table>
<tr></tr> <!-- a lot of rows, potentially spreading on several A4 pages -->
</table>
<footer style="position: fixed"> <!-- footer contents will be repeated and overlapped on each page until </table> is not reached -->
</footer>
我尝试使用 css 规则作为应用于 table 标签的填充底部但没有成功
谢谢
我找到了解决办法。
首先,您必须定义页边距:
@page {
size: A4;
margin: 15mm 20mm;
}
我的顶部和底部边距为 15 毫米。
当您现在在 page/body 中放置固定页脚时,这些页边距将 "inside" 而非 fixed
元素将与其重叠。因此,您要做的是移动这些边距的固定页脚 "outside":
footer
{
position : fixed;
right : 0;
bottom : 0;
margin-bottom : -10mm;
height : 10mm;
text-align : right;
font-size : 10px;
}
fixed
和 bottom
属性会将您的页脚放在底部的每个页面上,但在定义的页边距内(重叠的地方)。 height
指定页脚高度,然后将其移动 "outside" 负 margin-bottom
属性 的页边距。只需确保 margin-bottom
>= height
.
干杯
多米
我用 Django 生成了一个 table,感谢 WeasyPrint,我以 pdf 格式呈现。
这个 table 可能真的很长(行数),因此可能以几页 pdf 结果结束。我必须在页面的每一端包含一个静态页脚,所以我应用了 css fixed 规则。
我的问题是这个页脚被很长的 table 重叠了。我如何要求 WeasyPrint(我认为是通过 css)打破每个页脚前的 table 并继续在下一页呈现 table?
<table>
<tr></tr> <!-- a lot of rows, potentially spreading on several A4 pages -->
</table>
<footer style="position: fixed"> <!-- footer contents will be repeated and overlapped on each page until </table> is not reached -->
</footer>
我尝试使用 css 规则作为应用于 table 标签的填充底部但没有成功
谢谢
我找到了解决办法。
首先,您必须定义页边距:
@page {
size: A4;
margin: 15mm 20mm;
}
我的顶部和底部边距为 15 毫米。
当您现在在 page/body 中放置固定页脚时,这些页边距将 "inside" 而非 fixed
元素将与其重叠。因此,您要做的是移动这些边距的固定页脚 "outside":
footer
{
position : fixed;
right : 0;
bottom : 0;
margin-bottom : -10mm;
height : 10mm;
text-align : right;
font-size : 10px;
}
fixed
和 bottom
属性会将您的页脚放在底部的每个页面上,但在定义的页边距内(重叠的地方)。 height
指定页脚高度,然后将其移动 "outside" 负 margin-bottom
属性 的页边距。只需确保 margin-bottom
>= height
.
干杯 多米