2010年1月4日 星期一

控制 ASP.Net 匯出為 Word 時的直印 / 橫印

一般常見到透過 Asp.Net 匯出為 Excel 或是 Word 的需求時,只是將網頁事先透過 Html 去定義好 每個 Table 的內容,再透過設定 ContentType 為 application/vnd.ms-word 或 application/vnd.ms-excel 來決定是要用 MS-Word 或 MS-Excel 來開啟。

如果你很滿意自己的作品,想進一步要做列印時,那有可能會遇到直印/橫印的問題,畢竟,寸有所長「紙」有所短啊!為了要解決指定 Word 檔 直印 / 橫印的問題,第一步,就是要知道這兩種模式的英文名詞叫什麼,才能去 google 上查嘛!原來,直印的英文用法是 Portrait,橫印則是 Landscape。

在網路上找到一篇蠻詳細的文章,http://forums.asp.net/p/1014751/1394975.aspx

其中,節錄出橫印的用法:


Response.Write("@page Section2 {size:841.7pt 595.45pt;mso-page-orientation:landscape;margin:1.25in 1.0in 1.25in 1.0in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}")

Response.Write("div.Section2 {page:Section2;}")

而之後,則僅需將你的內容包在一個 < div > 裡,並設定他的 class = Section2 就可以完成橫印的設定了。

1 則留言: