LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

LODOP在页面让客户选择打印机

admin
2023年9月25日 18:45 本文热度 421

获取打印机列表可以放在onload事件里,如过当前是使用的c-lodop,由于websoket链接需要时间,一进入页面可能会报错,被准备好或网页没下载完成等,也可以在点击事件里让用户获取打印机。
之前写过两个在页面选择打印机的博文:
Lodop在页面获取打印机列表 选择打印机预览 
C-Lodop获取打印机列表create_Printer_List(c-lodop独有的方法,集中打印,AO打印可以用这个方法)
都是早期写的博文,搬运到新博客的,没有代码,这里重新介绍一下第一个博文的那种lodop和c-lodop通用的方法,选择打印机也可以不在页面加载的时候获取,点击后获取打印机列表然后选择。
正常情况下点击一次,获取到打印机列表,用户就可以选择打印机了,但是用户也可能手滑或者点了多次等原因,为了避免重新装载打印机到列表里,可以判断为不为空的时候就不再装载了。

在onload理论原来写的这个获取打印机列表方法:(由于之前写过,不再放这个的图)后面的有按钮获取的图。其实和按钮获取的方法是一样的,就是一个在onload理论,一个按钮点击获取。
代码:

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>WEB打印控件LODOP</title>

<script language="javascript" src="LodopFuncs.js"></script>

</head>

选择打印机:<select id="PrinterList" size="1"></select> 

<a href="javascript:prn1_preview()">打印预览</a><br>

<script language="javascript" type="text/javascript">  

        var LODOP; //声明为全局变量

        window.onload=function(){creatPrintList();}

       function creatPrintList(){

        LODOP=getLodop();

        var iPrinterCount=LODOP.GET_PRINTER_COUNT();

        for(var i=0;i<iPrinterCount;i++){

               var option=document.createElement('option');

               option.innerHTML=LODOP.GET_PRINTER_NAME(i);

               option.value=i;

            document.getElementById('PrinterList').appendChild(option);

        };   

       };

    function prn1_preview() {

        LODOP=getLodop();

        LODOP.PRINT_INIT("");

        LODOP.SET_PRINTER_INDEX(document.getElementById("PrinterList").value);   

        LODOP.SET_PRINT_PAGESIZE(1,300,500,"");

        LODOP.ADD_PRINT_TEXT(4,62,150,40,"文字");

        LODOP.PREVIEW();   

    };

</script>

</body

在点击按钮里获取打印机列表:判断为空,就不再重新装载。
此外在实际应用的时候,考虑到用户可能的操作,都需要加一些判断,如前面的很多在文本框填写,然后打印的博文,都需要判断是否为空,用户也可能什么也不填写就打印等。

代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
<style>
</style>
</head>
<input type="button" value="选择打印机" onclick="creatPrintList()" >
<select id="PrinterList" size="1" style="margin-top:10px;"></select>
<input type="button" value="选择打印机" onclick="creatPrintList2()" >
<select id="PrinterList2" size="1" style="margin-top:10px;"></select>
 
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function creatPrintList(){
        LODOP=getLodop();
        var iPrinterCount=LODOP.GET_PRINTER_COUNT();
        for(var i=0;i<iPrinterCount;i++){
               var option=document.createElement('option');
               option.innerHTML=LODOP.GET_PRINTER_NAME(i);
               option.value=i;
            document.getElementById('PrinterList').appendChild(option);
        };
       document.getElementById('PrinterList').style.display='block';
};
 
function creatPrintList2(){
    if (document.getElementById('PrinterList2').innerHTML!="") return;
    //点第二次以上,在列表已经填充不为空情况下,不再执行后面的代码,直接返回,避免重新装载打印机。
   LODOP=getLodop();
   var iPrinterCount=LODOP.GET_PRINTER_COUNT();
   for(var i=0;i<iPrinterCount;i++){
               var option=document.createElement('option');
               option.innerHTML=LODOP.GET_PRINTER_NAME(i);
               option.value=i;
            document.getElementById('PrinterList2').appendChild(option);
   };
   document.getElementById('PrinterList2').style.display='block';
};
function prn1_preview() {
   LODOP=getLodop();
   LODOP.PRINT_INIT("");
   LODOP.SET_PRINTER_INDEX(document.getElementById("PrinterList").value);
   LODOP.SET_PRINT_PAGESIZE(1,300,500,"");
   LODOP.ADD_PRINT_TEXT(4,62,150,40,"文字");
   LODOP.PREVIEW();
};
</script>
</body>

图示:


该文章在 2023/9/25 18:45:40 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved