lodop打印功能

lodop打印功能1 界面配置 lodop 打印控件对象 scriptsrc quot ctx js comm lodop LodopFuncs js quot scriptsrc quot ctx

1.界面配置lodop打印控件对象

  

2.配置要打印的报表

 
   

3.写JS初始化打印数据

fnInitPrint: function() { mini.parse(); var printForm = new mini.Form("#printForm"); var params = {'DWSXH':mini.get("DWSXH").getValue()}; CFW.oAJax.doService('dwglService.selectDw', params, '' , function(data) { var result = JSON.parse(data); var content = result.data; var con = JSON.parse(content); if (result.fhz == '1') { //设置值 document.getElementById("DWMC1").value="123"; //没有值 document.getElementById("DWMC1").setAttribute("value",con.DWMC); //第二次显示会有值 document.getElementById("XTJGDM1").setAttribute("value", con.XTJGDM); } else { mini.alert(result.msg); } }); 

4.打印:调用preview方法预览,直接调用print方法,打印的文档中会有lodop水印

print: function() {
	//初始化数据
	var LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
	if (LODOP == undefined) {
		mini.alert('检测到您未安装浏览器打印插件,请先安装插件,然后打印', "", function() {
			window.scrollTo(0,0);
		});
		return;
	}
	LODOP.PRINT_INIT("单位新增申报表打印");//
	LODOP.ADD_PRINT_HTM(20, 30, "90%", "95%",$("#print_div").html());
	LODOP.SET_PRINT_STYLEA(0, "FontName", "黑体");
	LODOP.SET_PRINT_STYLEA(0, "FontSize", 10);
	LODOP.PREVIEW();
}

5.打印中遇到问题:
打印之前是一个form表格,表格里面没有数据,打印之前需要根据ID从后台获取数据,然后将值显示在表格上。起初用miniui中的dwForm.setData(o)来设置表格中的值,但是打印的时候没有数据,就以为是miniui与该打印插件冲突,导致无法显示数据;于是改用最普通的document.getElementById("DWMC1").value="123"; //没有值;来设置表单值,结果还是没有数据显示。
原因:FireFox、Chrome、Opera下innerHTML无法获取到手动填写的文本框中的value值
解决方法:document.getElementById("DWMC1").setAttribute("value",con.DWMC); //第二次显示会有值






6.绑定函数

bindData:function(){
	    	//搞定 type=text, 同时如果checkbox,radio,select>option的值有变化, 也绑定一下, 这里忽略button
	    	$("input").each(function(){
	    		$(this).attr('value',$(this).val());
	    	});
	    	
	    	//搞定 type=checkbox,type=radio 选中状态
	    	$("input[type='checkbox'],input[type='radio']").each(function(){
	    		if($(this).attr('checked'))
	    			$(this).attr('checked',true);
	    		else
	    			$(this).removeAttr('checked');
	    	});
	    	
	    	//搞定select选中状态
	    	$("select option").each(function(){
	    		if($(this).attr('selected'))
	    			$(this).attr('selected',true);
	    		else
	    			$(this).removeAttr('selected');
	    	});
	    	
	    	//搞定 textarea
	    	$("textarea").each(function(){
	    		$(this).html($(this).val());
	    	});
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217349.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午9:46
下一篇 2026年3月18日 上午9:46


相关推荐

  • 阿里成立了个新事业群,这次是想摸着谷歌过河?

    阿里成立了个新事业群,这次是想摸着谷歌过河?

    2026年3月17日
    2
  • HibernateTemplate的使用[通俗易懂]

    HibernateTemplate的使用[通俗易懂]HibernateTemplate提供了非常多的常用方法来完成基本的操作,比如增加、删除、修改及查询等操作,Spring2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。  下面是HibernateTemplate的常用方法。  delete(Objecten

    2022年6月29日
    33
  • 过冲、振铃 的消除方法

    过冲、振铃 的消除方法下图为网上资料收集及整理 好像是很久以前的资料了 书名应该是 舰船光学 资料整理出来 只为方便大家学习 无商业行为 如有版权问题 请告之 本人及时纠正

    2026年3月17日
    2
  • python random函数

    python random函数调用 random 前要 importrandom 模块 测试 1 random random 生成一个随机的浮点数 在 0 1 之间 2 random sample 从指定的序列或列表中 随机的截取指定长度的片段 测试 1 序列 测试 2 列表 3 random randint 随机生成一个 int 类型的数 可以指

    2026年3月19日
    2
  • javascript实现一个自制网页音乐播放器

    javascript实现一个自制网页音乐播放器序接触简书也有一段日子了,这中间的时光还是比较轻松加愉快的,那种可以和他人分享知识的欣喜和愉悦的确是非常棒。我一向都是觉得专心写自己的文就可以了,不会总是纠结有多少人在看,有多少点击等等。用心写好自己的文,体会那种分享的快乐,就可以了。之前写的《js常用方法和一些封装》系列暂且告一段落,接下来,我会通过各种案例,来分享javascript的各种技巧,所以最终将这个系列的名称定为:《从案例中学习

    2022年6月18日
    29
  • Java多线程常用面试题(含答案,精心总结整理)

    Java多线程常用面试题(含答案,精心总结整理)Java并发编程问题是面试过程中很容易遇到的问题,提前准备是解决问题的最好办法,将试题总结起来,时常查看会有奇效。现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。核心:thread.Jo

    2022年7月15日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号