2010-01-02 22 views
1

我有一份報告,需要在我通常進行維護的應用程序中打印出來。我的問題,讓我感興趣的是超出了這個任務的範圍,格式化HTML頁面的方式是什麼?每個的優缺點是什麼?
請注意,該頁面僅用於打印。我不問一個HTML頁面,打印時看起來也不錯。HTML打印 - 有什麼方法可以製作基於html的打印輸出?優缺點都有什麼?

一般來說,我知道我可以嚴重依賴<表> s或<div> s,但我不知道要走哪條路。

我也希望有一些資源可以幫助我開始使用任何方法,或者幫助解決已知問題。

感謝, 阿薩夫

+1

我前幾天回答了一個非常類似的問題:http://stackoverflow.com/questions/1988133/how-to-write-print-css-to-get-print-from-web-pages-in-almost同樣的方式,我們ge鏈接是相當不錯的。 – 2010-01-02 17:27:35

回答

2

如你肯定會看到,印刷和網頁呈現兩種不同的生物。主要問題是打印頁面的邊界,它不存在於網頁中。即使您認爲您的頁面佈局適合打印頁面,但您仍然需要處理這一事實,即您使用的字體可能無法在用戶的打印機上正常工作或縮放。

我知道有三種方式來解決這個問題:

  1. 使用固定大小的字體(如快遞),限制自己的80列寬,並且只使用字體字符:意爲用類似星號爲邊界等。這是非常古老的學校 - 你的報告看起來簡單而古老。但是,它們將始終按照您的打算進行打印。

  2. 將您的報告轉換爲圖像。可以對圖像進行確認以適合頁面上的特定尺寸。但是,由於打印機頁邊距設置,您仍可能遇到問題。

  3. 讓其他應用程序爲您完成工作。我的意思是把你的報告放到PDF或電子表格中。 PHPPerl都有易於使用的模塊來創建PDF - 無需許可證。 Perl有一個奇妙的spreadsheet module。這條路線需要一點點學習,但讓你不必成爲印刷專家(這可能是一個真正的痛苦)。

+0

謝謝 - 這些都是很好的提示,但我這樣做的公司已經使用了一些HTML報告(我在他們的代碼中達到了頂峯,它基於表格並且非常難看)。他們習慣了HTML的限制,所以我想專注於最好的方式來做到這一點。 – 2010-01-02 18:53:34

0

如果您希望在瀏覽器中查看頁面時看起來不錯,請考慮針對不同媒體的多個樣式表。