繁体   English   中英

甚至可以在HTML和CSS中进行双面打印的分页功能

[英]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时,这才会真正起作用。 没有神奇的答案可以适用于所有场景。

  • 72 dpi(网页)= 595 X 842像素
  • 300 dpi(打印)= 2480 X 3508像素(“210mm X 297mm @ 300 dpi”)
  • 600 dpi(打印)= 4960 X 7016像素

您需要在此处使用标准打印机设置进行一些实验,以了解哪些对您/您的客户有用。 如果有多种方案,您可以让它们从下拉列表中进行选择。

所以你要使用jquery检查div的像素高度,检查页面的像素高度,看看div是在奇数页还是偶数页结束 - 如果报告在奇数页上结束则注入分页符。

如果用户将使用双面打印,您还需要提前了解 - 因为您只需要进行双面打印。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM