簡體   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