LODOP设置打印机不存在不打印
LODOP中打印機的選擇有優先級的存在,如果程序中指定的是錯誤的打印機,那么會走下一個優先級,這樣,就可能存在選擇了打印機無效,從默認打印機打印出來了,可以在代碼里加判斷避免這一點。
打印機優先級簡介:
第一優先級:SET_PRINTER_INDEX等程序代碼里指定的打印機。
第二優先級:上次在預覽界面的打印設置中選擇的打印機,Lodop按任務名對應記憶下來。
第三優先級:操作系統選擇的默認打印機。
默認打印機優先級最低,當前兩個優先級不存在或沒生效時,會走最低的默認打印機優先級。
可以在預覽或打印前,判斷一下打印機是否存在,決定是否執行預覽或打印命令,這種方法可避免走優先級輸出到不必要的打印機上。
以下是lodop和c-lodop測試判斷和不判斷的區別和結果。(以PREVIEW預覽為例)
lodop插件方式、不加判斷:(彈出兩次,一次提示不存在,關閉后彈出預覽窗口)
第一步:彈出提示 打印機“(具體打印機名稱或序號)”不存在。
第二步:關閉提示,點確定或叉號,彈出預覽窗口。
lodop插件方式、加判斷:(彈出一次,提示打印機不存在,不會彈出預覽窗口)
彈出提示 打印機“(具體打印機名稱或序號)”不存在。
不再彈出預覽窗口。
c-lodop方式、不加判斷:(彈出一次,彈出預覽窗口)
彈出預覽窗口。
c-lodop方式、加判斷:(彈出0次,什么也不彈出)
不彈出預覽窗口。
由于沒設置任務名,也沒上次預覽的記錄,所以當程序里指定一個錯誤的不存在的打印機的時候,以上測試中彈出預覽的均為默認打印機,也就是走了其他優先級。
這樣,如果打印的時候打印機不存在,就會出現在其他打印機打印的情況。
加了判斷后的效果:
lodop彈出 打印機“(具體打印機名稱或序號)”不存在,c-lodop什么也不彈出。
加了判斷后,兩者都不再走其他優先級進行預覽或打印,避免了在其他打印機輸出的情況。
具體方法:在打印或預覽前判斷一下打印機是否存在,不存在不執行打印方法,存在再執行。
if (LODOP.SET_PRINTER_INDEX("打印機名或序號"))//不存在的打印機
LODOP.PREVIEW();//判斷為假,不執行該句
測試代碼:
本人本機Brother Color Type3 Class Driver存在,在該打印機名稱后面加了個1,Brother Color Type3 Class Driver1這個名稱的打印機名稱就不存在了。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_preview()">打印預覽</a><br>
<a href="javascript:prn2_preview()">打印預覽(加了判斷的)</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //聲明為全局變量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INITA(12,13,500,300,"");
LODOP.SET_PRINTER_INDEX("Brother Color Type3 Class Driver1");//不存在的打印機
LODOP.ADD_PRINT_TEXT(10,10,100,20,"新加文本1");
LODOP.PREVIEW();
};
function prn2_preview() {
LODOP=getLodop();
LODOP.PRINT_INITA(12,13,500,300,"");
LODOP.ADD_PRINT_TEXT(10,10,100,20,"新加文本1");
if (LODOP.SET_PRINTER_INDEX("Brother Color Type3 Class Driver1"))//不存在的打印機
LODOP.PREVIEW();
};
</script>
</body>
圖示:
總結
以上是生活随笔為你收集整理的LODOP设置打印机不存在不打印的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode1069. 产品销售分析
- 下一篇: 信用卡宽限期内还款算逾期吗?到账时间是关