:LODOP指定window默認打印機和臨時默認打印機 通過以下語句,可指定windows默認打印機
LODOP.SET_PRINT_MODE("WINDOW_DEFPRINTER",某打印機名或序號);
這種默認打印機是指的windows操作系統(tǒng)的默認打印機。
普通指定的方法就是進入windows的控制面板,然后進入打印機設(shè)備相關(guān)選項,在windows打印機列表里,選中需要設(shè)置的默認打印機,然后右鍵-選設(shè)置為默認打印機。這就是windows的默認打印機,在打印機列表里帶有對號的就是默認打印機。
通過該語句,可以通過該語句修改windows默認打印機。
windows默認打印機的修改方法(圖示)
除此之外,還有其他選擇打印機方法,例如在頁面獲取打印機列表,讓用戶選擇(相關(guān)博文:LODOP在頁面讓客戶選擇打印機、Lodop在頁面獲取打印機列表 選擇打印機預(yù)覽、C-Lodop獲取打印機列表create_Printer_List、LODOP設(shè)置打印機不存在不打?。?br style="box-sizing: border-box;"/>LODOP中還有一種是臨時默認打印機,這種和windows默認打印機是不同的,注意區(qū)分。
臨時默認打印機:LODOP.select_PRINTER();,這種默認打印機選擇后,刷新頁面等操作,該默認打印機就會失效,需要重新選擇。
通過該語句設(shè)置臨時默認打印機后,該頁面所有沒有再代碼里指定打印機的打印任務(wù),都會使用該臨時默認打印機打印,刷新或關(guān)閉頁面后這個臨時默認打印機就失效了。
但對于已經(jīng)在任務(wù)里具體制定了打印機的,之前如果選擇了臨時默認打印機,LODOP和C-LODOP的表現(xiàn)是不同的。
測試步驟及結(jié)果:(如代碼和圖,有四個方法)
方法1:設(shè)置的windows默認打印機。
方法2:設(shè)置頁面臨時默認打印機
方法3:一個沒在代碼里指定具體打印機的任務(wù)。
方法4:一個在代碼里指定了xps具體打印機的任務(wù)。
測試臨時默認打印機,首先用方法2指定一下打印機,然后,在沒指定的任務(wù)和指定了打印機的任務(wù)分別查看當前打印機。
LODOP效果:
1.沒在代碼指定具體打印機的,是選擇的臨時默認打印機。
2.在代碼指定了具體的xps打印機的,是xps打印機。
C-LODOP效果:
1.沒在代碼指定具體打印機的,是選擇的臨時默認打印機;
2.在代碼指定了具體的xps打印機的,還是選擇的臨時默認打印機。
注意:也就是c-lodop中,頁面指定了臨時默認打印機,即使在代碼里重新指定新的打印機,也是沒有效果的。
之前有人打印機指定語句書寫正確,打印機名稱也對,但是就是打印機不生效,后來發(fā)現(xiàn)原來在指定具體的打印機之前,他先在頁面選擇了臨時默認打印機,而且走的是c-lodop方式,所以導(dǎo)致怎么也不生效。
選擇了臨時默認打印機,再指定打印機,相對于沖突了,c-lodop再指定沒有效果,所以導(dǎo)致了這一現(xiàn)象,所以不要這樣使用,選擇打印機方法還很多,并有一定的優(yōu)先級,后面會有博文介紹。
如果先用這個臨時默認打印機,可以不再任務(wù)指定具體的打印機語句,因為選了這個臨時打印機,相當于頁面所有打印任務(wù)都是這個打印機了。雖然測試再lodop中可以重新指定,但是c-lodop不行,所以如果要用這個臨時默認打印機,不再后面設(shè)置指定具體的打印機語句。
此臨時打印機刷新頁面關(guān)閉頁面等,都會失效,所以也可以不用這種選擇打印機方法。
測試代碼:
<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>
<div id="d1">
內(nèi)容
</div>
<a href="javascript:prn1_preview()">設(shè)置windows默認打印機為HP....</a><br>
<a href="javascript:prn2_preview()">頁面選擇臨時默認打印機</a><br>
<a href="javascript:prn3_preview()">代碼不指定打印機</a><br>
<a href="javascript:prn4_preview()">代碼指定了打印機xps..</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //聲明為全局變量
function prn1_preview() {//windows默認打印機
LODOP=getLodop();
LODOP.PRINT_INIT("");
if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){alert(Value);};
var strResult=LODOP.SET_PRINT_MODE("WINDOW_DEFPRINTER","HP Color LaserJet 1600 Class Driver");
if (!LODOP.CVERSION) alert(strResult); };
function prn2_preview() {//頁面臨時默認打印機
LODOP=getLodop();
if (LODOP.CVERSION) {
LODOP.On_Return=function(TaskID,Value){if(Value>=0) alert("選擇成功!"); else alert("選擇失??!");};
LODOP.select_PRINTER();
return;
};
if (LODOP.select_PRINTER()>=0)
alert("選擇成功!"); else alert("選擇失??!"); };
function prn3_preview() {//代碼不指定任何打印機
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("d1").innerHTML);
LODOP.PRINTA();
//LODOP.PREVIEW();
};
function prn4_preview() {//在代碼指定具體的打印機
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINTER_INDEX("Microsoft XPS Document Writer");//指定某虛擬打印機
LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("d1").innerHTML);
LODOP.PRINTA();
//LODOP.PREVIEW();
};</script>
</body>
圖示:如圖,這里就不實際輸出了,直接用PRINTA,這個會彈出選擇打印機框,不進行修改,可以查看到當前的打印機。
該文章在 2023/11/24 16:52:47 編輯過