CS結構的程式列印方面比較容易控制,BS結構的程式列印方面就顯得很笨拙,但在公司資訊化系統中使用的還是比較普遍的,部落格園中有文(@COOL-CHEN)總結的比較到位,轉載以記之.
剛開始,由於對印表機不瞭解,走了很多彎路。原先採用的辦法是:
1.點擊訂單列表裡的 “列印快遞單按鈕”,轉到printexpress.aspx頁面,載入需要列印的資料,呈現到頁面上來。
2.頁面背景採用快遞單掃描圖片(652*365 以前在cs裡用的)
3.把載入的資料,一個個放置在需要列印的位置上(以掃描快遞圖片)。
麻煩不斷, 位置始終對不上,而且印表機走紙距離不對,所以連續列印也是不正確的。
後來,經過一翻瞭解印表機的得出:
1.印表機是可以設定紙張大小的,這樣就可以解決連續列印走紙的距離。
2.用直尺量快遞單的大小,23cm*12.7cm(像韻達,圓通 聲明:我不是打廣告的)都是這種規格的。
3.設定印表機的尺寸(server2003): 開始-》印表機和傳真-》右擊 伺服器屬性->建立新格式-》填寫上面量好的尺寸儲存即可
4.給列印快遞單的印表機(epson lq635k)設定紙張大小 :選擇印表機-》列印喜好設定-》進階-》選擇紙張規格,你剛添加的即可
5.印表機後進紙的時候,紙張一定靠左,以靠左對齊,然後再對齊右邊。這樣不會打歪。
再回到程式裡,現在知道實際快遞單尺寸是23*12.7那麼轉換成px是多少了呢?接下來列印位置,怎麼定位呢?
1.尺寸23*12.7轉換成px 後 (23*38)*(12.7*38)=874*483。(大約是 1cm=38px)
2.用ps把掃描好的快遞單改成874*483即可。
3.由於我們列印範圍只是從0,0開始的(top 和 left),我們用尺子量各個列印位置,top和left,記得量的時候左一定從0開始(最邊上量)
4.把圖片更換成改好後的尺寸,然後把資料對應到你量好的尺寸處。
5.再把瀏覽器的版面設定量的 上和下改成0,儲存即可。(這步很重要)
再次把調好程式進行列印,位置和走紙很正確。
原文出處:http://www.cnblogs.com/chenhuzi/archive/2010/11/25/web-print-delivery-express-method.html