我已经有快速分页打印工作的快速page-break-after: always
。我使用这些来分离单个批量打印作业中的多个报告。不幸的是,当打印作业是双面打印时,分页符会导致打印机在上一次报告的背面启动报告。即使是在HTML和CSS中双面打印的分页符
有没有办法强制分页到偶数页?或者,也可以检测某个元素出现在哪个页面上?
我已经有快速分页打印工作的快速page-break-after: always
。我使用这些来分离单个批量打印作业中的多个报告。不幸的是,当打印作业是双面打印时,分页符会导致打印机在上一次报告的背面启动报告。即使是在HTML和CSS中双面打印的分页符
有没有办法强制分页到偶数页?或者,也可以检测某个元素出现在哪个页面上?
CSS中没有内置的功能。
一个想法:
也许你可以尝试在一个div包裹你的每一个报告,然后使用像jQuery的东西摸出的div height弄清楚它是否奇数页结束。
如果它在一个奇数页面上结束,那么在页面中断类之后注入一个空的div,以便它进入下一页。
编辑
显然,如果你知道DPI这只会真正的工作在你的哪些页面打印你的目标打印机。没有什么神奇的答案可以适用于所有情况。
你需要在这里用你的标准打印机设置来试验一下,看看对你/你的客户有什么作用。如果有多种情况,您可以让他们从下拉菜单中进行选择。
所以你应该使用jquery来检查div的像素高度,根据页面的像素高度检查它是否在奇数页或偶数页结束 - 然后在报表结束时插入分页符在一个奇怪的页面上。
如果用户将使用双面打印,您还需要了解最新的信息 - 因为您只需要在双面打印时进行此操作。
标准中有CSS功能。你在正确的轨道上。使用:
<div style="page-break-after: right">
-- your content --
</div>
问题是,目前唯一支持这个功能的主要浏览器是Opera。 Opera虽然在打印方面有自己的挑剔问题,但它可能适用于您的情况。
你不需要像'style =“page-break-after:\”right“那样编写它吗? –
有趣的想法 - 有没有办法知道(或设置)页面的高度? –
@RileyLark,我编辑了我的回复,上面给你一些信息。 – Nils