zoukankan      html  css  js  c++  java
  • C-LODOP回调多个返回值On_Return_Remain

    c-lodop默认一次只能回调一个值,回调后会销毁,如果想回调多个值,可加该语句:LODOP.On_Return_Remain=true;
    之前有博文:lodop和c-lodop通过打印状态和任务不在队列获取打印成功 
    中回调了两个动作函数的返回值。

    如果有需要回调两个以上,写法相同,通过taskid进行区分。
    本文的例子写法只是在c-lodop下使用,如果要用混合部署,还要加判断是否为c-lodop,lodop不需要回调,可直接返回。
    测试的是打印任务的页数,打印纸张的宽度,打印的打印机(都需要先预览或打印才能获取
    测试代码:

    <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:prn0_preview()">先点打印预览</a><br>
    <a href="javascript:prn2_preview()">后用回调获取一些信息</a><br>
    <a href="javascript:prn3_preview()">在另一个方法里输出刚才回调赋的值</a><br>
    <div id="div1">
    <p id="view">显示</p>
    </div>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量 
            var str="原始值";
        function prn0_preview() {//该任务有两页,为强制分页所得
            LODOP=getLodop(); 
            LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_TEXT(0,0,100,20,"文本内容一");
            LODOP.NEWPAGE();
            LODOP.ADD_PRINT_TEXT(0,0,100,20,"文本内容一");
            LODOP.PREVIEW();    
        };
        function prn2_preview() {
            LODOP=getLodop(); 
           var TaskID1,TaskID2,TaskID3;
           LODOP.On_Return_Remain=true;
           LODOP.On_Return=function(TaskID,Value){ 
               if (TaskID== TaskID1) {
               str="该任务共有"+Value+"页。<br>";
               console.log(str);
               } else if (TaskID== TaskID2) {
                      str+="该任务的纸张宽度"+Value+"。<br>";
                      console.log(str);
               } else if (TaskID== TaskID3) {
                       str+="该任务所用的打印机的名称是"+Value+"。<br>";
                       console.log(str);
                       var p_view=document.getElementById("view");
                        p_view.innerHTML=str;
               };
           };
           TaskID1=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
           TaskID2=LODOP.GET_VALUE('PRINTSETUP_PAGE_WIDTH',"0");//获取纸张宽度
           TaskID3=LODOP.GET_VALUE('PRINTSETUP_PRINTER_NAME',"0");//获取当前所用的打印机名称
     };
        function prn3_preview() {
         console.log("这是另一个方法里输出的该全局变量的该值"+str);
        };
    </script> 
    </body>

    图示:

  • 相关阅读:
    【高斯消元】BZOJ 1770: [Usaco2009 Nov]lights 燈
    【高斯消元】Poj 1222:EXTENDED LIGHTS OUT
    【高斯消元】BZOJ 1013: [JSOI2008]球形空间产生器sphere
    【数学】[BZOJ 3884] 上帝与集合的正确用法
    【数学/扩展欧几里得/线性求逆元】[Sdoi2008]沙拉公主的困惑
    【数学/扩展欧几里得/Lucas定理】BZOJ 1951 :[Sdoi 2010]古代猪文
    【扩展欧几里得】Bzoj 1407: [Noi2002]Savage
    [51nod2935] 土地划分
    [51nod2982] 大逃杀
    [BZOJ1005] HNOI2008 明明的烦恼
  • 原文地址:https://www.cnblogs.com/huaxie/p/11776961.html
Copyright © 2011-2022 走看看