[英]Can I force an HTML document to be one page long?
我正在從HTML生成一個文檔。 有沒有辦法強制HTML頁面成為一個打印頁面長一個?
我用<table>
和<div>
標簽完成了大部分頁面。
不完全是,但您可以使用打印樣式表:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
要將字體大小,填充等設置為物理單位,例如'pt'(絕不應該在屏幕樣式表中使用!),以便在典型的瀏覽器中呈現時,它或多或少是A4頁面,典型的字體,伴隨着風。 沒有任何保證,但您可以針對常見情況進行優化。
在打印中,您不必太擔心字體大小首選項或dpi設置,但您仍然無法控制瀏覽器使用的邊距或實際頁面大小(US Letter小於A4),因此請保留一定的數量wiggle房間和主要瀏覽器測試。
不可以。您無法控制用戶的縮放級別,打印機設置,紙張尺寸(他在歐洲使用A4紙還是在美國使用合法紙張?)以及使用HTML影響打印機輸出的所有其他各種因素。
使用HTML可以做的最好的事情是創建一個非常簡單的“打印機友好”頁面並保持內容簡短。 或者,您可以構建PDF,旨在讓您控制打印方式。
您可以使用CSS樣式的頁面,並將其設置到一定的高度/寬度...有一個很好的教程在這里 。
使用PDF。 你可以強制許多東西,如字體大小,字體類型和許多其他參數,但任何瀏覽器都可以決定他們不關心和使用他們想要的任何東西,從而違反你的先決條件或決定。 HTML不是(在我之后重復:不是)一種表示語言。
在許多情況下,它將主要起作用,但沒有什么是確定的。
不,但是您可以通過使用專用的CSS文件進行打印介質,使打印視圖更加順暢,如上所述。
然后,您可以通過使用“page-break-before:always;”來至少阻止表跨越2頁。 。
最后你也可以使用“display:none;” 在廣告,導航欄等不必要的元素上,以保持頁面本身更短(對於單個頁面來說足夠短,希望如此)。
但不保證。
當然。 你有幾種可能性:
沒有辦法,因為在渲染HTML時你不可能知道打印機類型或紙張尺寸。
我唯一的建議是設置打印機屬性以在打印時縮放內容以適合一頁。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.