起因 :
客戶在進行資料列印時,因不知道預設列印格式,所以就直接列印出來,而我們資料的畫面又是橫面
所以每次畫面都是只有列印出2/3, 而也有客戶將列印的資料用pdf轉出,也有相同的困擾.
解決 :
print button.都是用javascript的 window.print()來完成. 本想說javascript應該有參數可以進行調整.
但survey過後,發現事情不單純. 原來javascript並沒有support可以指定列印的方向.
縱觀大家的說法,若要變更列印方向,大抵上有兩個方向.
1. 列印資料的程式要砍掉重練.
2. 美國有一家公司有開發一個.cab檔,可以指定列印方向.
砍掉重練的方法就算了. 沒空改.
另一個方法就是使用cab檔的方法.
公司 : http://www.meadroid.com/scriptx/application.asp
使用方法 :
1. 下載一個 smsx.cab的檔案. 我將其放在程式server端的根目錄下(defaultroot),與FSXMLCAPIATL.cab / ATLACert.cab
都放在相同的地方.
2. 在需要執行列印網頁的jsp部份加上兩大段的參數設定. 主要是說明此cab存在的地方,與設定列印方向為橫向.
factory.printing.portrait = false; < ==此參數即設定為橫向
<!-- MeadCo ScriptX -->
<object classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="smsx.cab#Version=6,4,438,06"
width = 0
height = 0
align = left
hspace = 0
vspace = 0
id=factory >
</object>
<script>
function printWindow() {
factory.printing.header = "";
factory.printing.footer = "";
factory.printing.portrait = false;
factory.printing.leftMargin = 1.0;
factory.printing.topMargin = 1.0;
factory.printing.rightMargin = 1.0;
factory.printing.bottomMargin = 1.0;
factory.printing.Print(false);
}
</script>
3. 登入網頁測試囉.
太棒了,想不到點一下列印鈕,預設就是橫印囉. 這樣客戶就不會有印錯或是覺得轉印設定要花很多時間不友善之類的.
結論 :
這個case只是測爽的. 偶個人認為施用在本公司的可行性超低.他有幾個缺點.
1. 此smsx.cab既然是”米國”公司開發的.但人家也不是吃飽沒事做.因此,這個是要coco的. 不幸中的大幸是
他有free一些免費的基本功能,而指定橫印的功能恰好就是免費的基本功能.但誰知道以後會不會要收費呢?
2. 既然是.cab檔,也就知道安全性問題也是一個很令人困擾的問題,若activex的安全性沒有啟用.這個元件一樣
會被擋掉,就跟放行時,簽章元件沒下來一樣.
電話可能也會接不完.
3. anyway, 只是跟大家分享列印的一些問題與方向. That’s all.
PS(以上若是有不明白或是錯誤的地方歡迎各位先進求教討論)