c-lodop获取任务页数-回调里给全局变量赋值并加减

2021年09月15日 阅读数:5
这篇文章主要向大家介绍c-lodop获取任务页数-回调里给全局变量赋值并加减,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

LODOP一个任务里能够自动分页,也能够手动分页,超文本会按照打印项高度或超过纸张会自动分页(相关博文:Lodop打印控件 超文本自动分页),若是是自动分页,是没法知道究竟分了多少页,整个任务打了多少页。
能够经过LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
在预览或打印前是获取不到的,必须执行了打印预览或打印才能获取到。javascript

该文还用到了个JS方法parseInt(字符串),具体可参考网上该方法的详细介绍,感受和C#里的强制类型转换差很少,JS里虽然定义的时候都用var,其实也分数据类型。
该方法的做用是把字符串类型强制转换成整数型。html

该文测试及结果:测试任务:有两页。
测试1:在回调里给某个全局变量赋值,而后弹出这个全局变量。
测试结果:能够在回调里给全局变量赋值,弹出弹窗显示数字2。java

测试2:给全局变量赋的值是:回调获取的返回值,而后加3。在控制台输出变量值。
测试结果:返回的值是字符串类型,+3会被当作字符串链接,控制台输出的是字符串23。测试

测试3:给全局变量赋的值是:回调获取的返回值强制转换成整数型,而后加3,在控制台输出变量值。
测试结果:控制台没有出现返回值。ui

测试4:给全局变量赋的值是:回调获取的返回值。而后再对变量赋值:把得到了值的变量强制转换成整数型而后加3。
测试结果:控制台输出的是5,是页数2加上数字3的结果。spa

测试3和测试4的区别就是,一个是对回调的返回值value进行数据类型转换,一个是对已经赋了值的zhi进行数据类型转换。测试3是zhi=parseInt(value)+3;测试4是zhi=Value;zhi=parseInt(zhi)+3;具体参考测试代码和图示。3d

测试代码:code

<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:prn1_preview()">给某全局变量赋值,弹出该变量</a><br>
<a href="javascript:prn2_preview()">给某全局变量赋值并+3,返回值是字符串,字符串链接结果</a><br>
<a href="javascript:prn3_preview()">给回调的值强制转换成整数型,而后赋值给全局变量再加3,无结果</a><br>
<a href="javascript:prn4_preview()">给全局变量赋值,而后把全局变量转换成整数型,加3再赋值给该变量</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量
        var zhi;//声明个全局变量,取名为zhi
    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 prn1_preview() {//测试再回调里给全局变量赋值,并弹出这个全局变量
        LODOP=getLodop(); 
       if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=Value;alert(zhi);}; 
       var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
       if (!LODOP.CVERSION) {zhi=stResult; alert(zhi);}//lodop直接获取返回值
    };
    function prn2_preview() {//给返回值+3,因为是字符串,会看成字符串链接
         LODOP=getLodop(); 
       if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=Value+3;console.log(zhi);}; 
       var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
       if (!LODOP.CVERSION) { }//支线,不写了,这里只测c-lodop
    };
    function prn3_preview() {//给回调的值强制转换成整数型,而后赋值给全局变量再加3
         LODOP=getLodop(); 
       if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=parseInt(value)+3;console.log(zhi);}; 
       var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
       if (!LODOP.CVERSION) {}//支线,不写了,这里只测c-lodop
    };
    function prn4_preview() {//给全局变量赋值,而后把全局变量转换成整数型,加3再赋值给该变量
         LODOP=getLodop(); 
       if (LODOP.CVERSION) CLODOP.On_Return=function(TaskID,Value){zhi=Value;zhi=parseInt(zhi)+3;console.log(zhi);}; 
       var stResult=LODOP.GET_VALUE("PRINTSETUP_PAGE_COUNT","0");//获取页数
       if (!LODOP.CVERSION) {}//支线,不写了,这里只测c-lodop
    };
</script> 
</body>

图示:htm