Question:
遇到使用者需求不想在按下列印按鈕後還跳出確認視窗(就是選擇印表機的那個視窗),
當好同時也需要橫向列印的功能,一起解決~
當好同時也需要橫向列印的功能,一起解決~
Solve:
直接用window.print()一定會出現確認視窗,
利用MeadCo's ScriptX的smsx.cab就可以對列印功能進行相關設定,
(http://scriptx.meadroid.com/)
包含邊界、頁首、頁尾、方向等等。
step1 想辦法找到smsx.cab檔案
我是在MeadCo's ScriptX的官網上下載msi檔回來安裝,
得到smsx.cab檔就移除掉相關軟體了。
step2 在html裡增加object tag
<object id="factory" style="display:none"
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="[你放置的路徑]smsx.cab#Version=7,5,0,20">
</object>
範例是將smsx.cab放在根目錄,總之就是依照路徑去import,
將factory物件生成。
step3 Javascript部分
直接用window.print()一定會出現確認視窗,
利用MeadCo's ScriptX的smsx.cab就可以對列印功能進行相關設定,
(http://scriptx.meadroid.com/)
包含邊界、頁首、頁尾、方向等等。
step1 想辦法找到smsx.cab檔案
我是在MeadCo's ScriptX的官網上下載msi檔回來安裝,
得到smsx.cab檔就移除掉相關軟體了。
step2 在html裡增加object tag
<object id="factory" style="display:none"
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="[你放置的路徑]smsx.cab#Version=7,5,0,20">
</object>
範例是將smsx.cab放在根目錄,總之就是依照路徑去import,
將factory物件生成。
step3 Javascript部分
<script type="text/javascript">
function fprint() {
factory.printing.header = "設定頁首"
factory.printing.footer = "設定頁尾"
factory.printing.portrait = false //true: 縱向, false: 橫向
factory.printing.leftMargin = 0 //左邊界
factory.printing.topMargin = 0 //上邊界
factory.printing.rightMargin = 0 //右邊界
factory.printing.bottomMargin = 0 //下邊界
factory.printing.Print(false); //true: 跳出視窗, false直接列印
}
</script>
function fprint() {
factory.printing.header = "設定頁首"
factory.printing.footer = "設定頁尾"
factory.printing.portrait = false //true: 縱向, false: 橫向
factory.printing.leftMargin = 0 //左邊界
factory.printing.topMargin = 0 //上邊界
factory.printing.rightMargin = 0 //右邊界
factory.printing.bottomMargin = 0 //下邊界
factory.printing.Print(false); //true: 跳出視窗, false直接列印
}
</script>
在用網頁控制項去call這個function,
就會依照設定值去進行列印作業了~
照範例就能直接列印網頁,同時也可做橫向列印囉!
p.s. 此解法只有IE有辦法使用,別的瀏覽器再找有沒有其他方式吧。
參考網頁:http://handmadesoap.pixnet.net/blog/post/33126572-%E7%B6%B2%E9%A0%81%E5%88%97%E5%8D%B0%E6%96%B9%E5%90%91%E5%95%8F%E9%A1%8C%E7%A0%94%E7%A9%B6%E8%88%87%E5%BF%83%E5%BE%97%E5%88%86%E4%BA%AB
請問 Printer 是 Server端 還是 Client端呢?
回覆刪除Client端的喔
刪除