[英]HTML/CSS printing page-break with float not working (eg: bootstrap)
[英]Even page-break for double-sided printing in HTML & CSS
我有打印媒体的分页符,快速page-break-after: always
。 我使用这些来分隔单个批量打印作业中的多个报表。 不幸的是,当打印作业是双面的时,分页可能导致打印机在上一个报告的背面开始报告。
有没有办法强制分页到一个偶数页面? 或者,或者,要检测某个元素将出现在哪个页码上?
标准中有CSS功能。 你走在正确的轨道上。 采用:
<div style="page-break-after: right">
-- your content --
</div>
问题是,目前唯一支持这种情况的主要浏览器是Opera。 尽管Opera有自己的挑战问题,但它可能适用于您的情况。
CSS中没有内置的功能。
一个主意:
您可以尝试将每个报告包装在div中,然后使用类似jquery的东西来计算div的高度 ,以确定它是否在奇数页上结束。
如果它在一个奇数页上结束,那么在那之后用你的分页后类注入一个空div,以便它被提供给下一页。
编辑
显然,只有当您知道页面在目标打印机上打印的dpi时,这才会真正起作用。 没有神奇的答案可以适用于所有场景。
您需要在此处使用标准打印机设置进行一些实验,以了解哪些对您/您的客户有用。 如果有多种方案,您可以让它们从下拉列表中进行选择。
所以你要使用jquery检查div的像素高度,检查页面的像素高度,看看div是在奇数页还是偶数页结束 - 如果报告在奇数页上结束则注入分页符。
如果用户将使用双面打印,您还需要提前了解 - 因为您只需要进行双面打印。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.