2009-01-21 18 views

回答

9

不完全是,但你可以使用的打印樣式表:

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

要設置字體大小,填充等,以物理單位,比如「PT」(即不應該在屏幕樣式表的使用!),以至於當它在一個典型的瀏覽器中呈現時,或多或少是一個A4頁面,通常具有隨後的風格。沒有什麼是保證的,但你可以針對常見情況進行優化。

在打印中,您不必太擔心字體大小首選項或dpi設置,但仍然無法控制瀏覽器使用的頁邊距或實際頁面大小(US Letter小於A4),所以在主要瀏覽器上留下大量的擺動空間並進行測試。

2

您可以使用CSS樣式的頁面,並將其設置到一定的高度/寬度...有一個很好的教程here

7

號你無法控制用戶的縮放級別,打印機設置,紙張大小(是他利用在歐洲或A4紙在美國?法律)和所有的使用HTML影響打印機輸出的各種其他的事情。

你可以用HTML做的最好的事情是製作一個非常簡單的「打印友好」頁面,並保持內容簡短。或者,您可以創建一個PDF,旨在讓您控制它的打印方式。

+0

如果您想要對打印輸出進行全面控制,PDF就是要走的路。 – 2009-01-21 14:05:05

+0

「您無法控制用戶的紙張尺寸[...]」 - 對打印機進行成像會裁剪紙張以適應作者設置。 :) – Gumbo 2009-01-21 14:08:42

1

當然。您有幾種可能性:

  • 將您的頁面轉換爲大圖像。
  • 將您的頁面轉換爲PDF。
  • 讓您的所有用戶都有一個固定尺寸的頁面左右滾動,因爲它太寬,並且極難傳輸信息。
+0

「圖像」方法有其缺點 - DPI分辨率浮現在腦海。 PDF似乎是最簡單的方法。 – Piskvor 2009-01-21 14:05:57

0

不,沒有辦法,因爲在呈現HTML時您無法知道打印機類型或紙張大小。

我唯一的建議是將打印機屬性設置爲在打印時縮放內容以適合一頁。

2

使用PDF。你可以強制許多東西,如字體大小,字體類型和許多其他參數,但任何瀏覽器可以決定他們不關心和使用他們想要的任何東西,因此違反了你的先決條件或決定。 HTML不是(在我之後重複:不是)演示語言。

在很多情況下,它將主要工作,但沒有什麼是確定的。

2

不,但是您可以使用打印介質的專用CSS文件使打印視圖更平滑,就像上面提到的那樣。

然後,您可以例如至少通過使用 "page-break-before: always;"防止表跨越2頁。

最後,你也可以使用上是不必要像廣告,導航條等,以保持頁面本身較短(足夠短的單頁,希望)元素 "display:none;"

雖然沒有保證。

相關問題