前面的博文生成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的分的页里添加打印项。