2013-04-08 75 views
0

打印樣式表使用CSS media query可以讓網站一個偉大的方式更便於打印:單獨的樣式表用於打印和PDF文件?

p { color: grey; } 

@media print { 
    p { color: black; } 
} 

對於一個項目,我們發現,從網頁創建PDF文件發送給客戶是非常有效的(比開始好從頭開始)。


對於PDFing目的,我們已經通過@media print應用一些簡單的CSS規則,使網頁在格式更友好的 - 刪除導航,某些頁腳元素等

(有些人可能希望在稍後的日期下載並打印這些PDF文件,沒關係,在每個頁面上也會有鏈接以訪問我們創建的PDF。)


但是,看起來對於普通大衆的打印需求,建議創建樣式表時不要使用太多的格式:刪除背景,增加對比度,優化字體大小等等。

我們還沒有這樣做。 是否可以有多套print規則 - 一種適用於PDFing,另一種適用於打印機?或者,如果不是,那有什麼解決方法?

回答

0

如果瀏覽器正在打印到物理打印機或PDF格式,我還沒有找到通過CSS指定的方法。 (除了各種瀏覽器,它也將在多個操作系統兼容。)

有兩個解決方案,我想出了:

  1. 有兩臺print樣式表,並創建PDF時,包括PDF文件,和/或爲公衆註釋。 (或者有一個樣式表,並註釋掉相關的代碼行)。
  2. 有兩個版本的HTML文檔,例如: index.phppdf.html,每個都有不同的print規則。在這種情況下,當你想創建一個PDF時,你將訪問後者,而前者將是默認的。該問題將管理兩組內容,因此除非您可以自動執行此操作,否則不會提示。
1

當最終用戶決定打印時,如果他們的機器上已經安裝了某種類型的PDF軟件,他們應該可以選擇打印到PDF。對於你來說,確定對他們來說,並且知道他們在機器上的配置以及他們要經過哪些軟件公司,以及版本,可能不是從CSS的角度來確定的最佳主意。我個人僅僅依靠你的打印樣式表作爲兩種途徑的主要來源。

有些人會想打印這些PDF,這很好......

真的,如果他們真的想,他們應該已經知道,他們已經安裝在PDF軟件的應用他們的機器。當他們進入打印預覽窗口時,讓他們選擇他們應該如何打印。但是,您也許可以推銷/推廣關於如何打印到PDF的創意幫助指南,以及他們可以在何處獲得免費的PDF軟件應用程序進行下載。

Regards