LODOP 获取打印设计代码不带INIT初始化语句

前面的博文生成JS代码模版和文档式模版,生成的是带初始化语句的模版,如果想要打印多个,可以循环多个任务,
什么是一个任务,可查看本博客相关博文:Lodop打印语句最基本结构介绍(什么是一个任务)
一个任务里可以有多页,如果是手动分页:Lodop强制分页LODOP.NewPage()和LODOP.NewPageA()
Lodop控件NewPage();测试输出空白页

LODOP.GET_VALUE("ProgramCodes",0);//获取传统的JS代码模版
LODOP.GET_VALUE("ProgramData",0);//获取文档式模版
这里的参数0是获取包含初始化INIT的全部代码,参数改为1,可去除初始化语句的。
LODOP.GET_VALUE("ProgramCodes",1);//获取传统的JS代码模版,去除初始化语句的
LODOP.GET_VALUE("ProgramData",1);//获取文档式模版,去除初始化语句的

测试代码:
其实就是前面的获取JS模版代码和赋值的博文代码,就改了个参数,把programcodes的参数从0该成了1:

<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:DisplayDesign()">进行打印设计</a>
<a href="javascript:;" onclick="javascript:getProgram();">获得该打印设计的全部程序JS代码:</a><br>  
 <p><textarea rows="12" id="S1" cols="107" >返回的打印设计的JS语句</textarea><br>
<a href="javascript:;" onclick="javascript:P();">打印分页eval模版里不带初始化语句</a><br>  
<script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量 
    function DisplayDesign() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.PRINT_DESIGN();        
    };
    function getProgram() {         
        LODOP=getLodop(); 
        if (LODOP.CVERSION) LODOP.On_Return=function(TaskID,Value){document.getElementById('S1').value=Value;};    
        document.getElementById('S1').value=LODOP.GET_VALUE("ProgramCodes",1);//参数1表示获取的是排除了初始化的JS代码
    };
    function P(){//多页         
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        for (i=0;i<3;i++)
        {
        LODOP.NewPage();
        eval(document.getElementById('S1').value);
        LODOP.SET_PRINT_STYLEA(0,"CONTENT",""+i);
        }
        //LODOP.PRINT_DESIGN();
        LODOP.PRINT();
    };
</script> 
</body>

效果:


如图,一个任务了分页,获取的是不带初始化语句的代码,可以放到分页循环作为分页打印项。
循环的是添加打印项本身和赋值语句,而不是只有赋值语句。
有人会误认为一个任务里第二页和第一页如果打印项是同样的,就不需要添加了不是这样的,要想后面页数有打印项,必须在newpage的分的页里添加打印项。

posted @ 2019-03-15 15:41  花谢悦神  阅读(824)  评论(0编辑  收藏  举报