前序
前面遇到一个问题:在线打印合同。通过各方查找资料和请教他人,终于完美的解决了这个问题。其中的解决方案,可以查看:http://www.cnblogs.com/zcy-xy/p/4290436.html。其中只详细简单介绍了一些方法,希望能给你点思路。其实在后面实现打印时,遇到了很多问题,现在就一一列举。
一、浏览器自带打印
浏览器自带打印确实既方便又简单。其实对于打印我们都很熟悉,最终打印时都是一张图片。那么在调用浏览器自带打印时,它会自动针对当前页面生成一张图片来实现打印。但是会存在一个问题,打印设置的问题。对于我们来说,这单常识还是有的,但是有时候真的要把用户想成电脑白痴,不会任何操作。那么现在这种办法肯定不能实现。
二、Lodop在线打印
关于前面在线打印问题的解决方法中,提到关于lodop。当时因为合同模板过多,内容过多而放弃了。后来在打印时,仔细研究了许久。查看了相关文档,防线lodop在打印方面确实比较方便。下面是一些使用心得,和大家分享一下。
这里打印时,我采用的是在图片显示加载信息,lodop只实现打印。首先我们需要在官网下载相关的文件,地址:http://www.lodop.net/download.html。
lodop打印实现
1.首先在页面引用下载包中的LodopFuncs.js文件。
2.根据当前的操作系统选择安装install_lodopxx.exe文件,只有安装此文件才能在页面打印预览时实现。LodopFuncs.js自带验证是否安装此插件。
3.lodop全部是由js实现的,那么下面来开始js的实现。这里我只简单的实现打印的功能。若要详细的信息,请访问官方网站或者查看技术手册
1 var LODOP; //声明为全局变量 2 $(document).ready(function () { 3 //验证当前是否已经安装插件 4 LODOP = getLodop(); 5 }); 6 7 // 打印预览 ,此功能可以在一个编辑页面中,编辑你要的样式,点击规避后会弹出相关当前的设置 8 function prn1_preview() { 9 CreateOneFormPage(); 10 LODOP.PREVIEW(); 11 //alert(LODOP.PRINT_DESIGN()); 12 }; 13 // 直接打印 14 function prn_print() { 15 CreateOneFormPage(); 16 LODOP.PRINT(); 17 }; 18 // 创建打印页面 19 function CreateOneFormPage() { 20 LODOP = getLodop(); 21 LODOP.SET_PRINT_STYLE("FontSize", 18); 22 LODOP.SET_PRINT_STYLE("Bold", 1); 23 LODOP.ADD_PRINT_URL(-16, -21, 800, 5000, url); 24 };
这里我只用到了lodop的定点和直接打印。lodop其实包括,自己设计模板,并给对应的做点填充值,并且实现多中打印方式,如:传入html,URL等。这里就不赘述。有兴趣的朋友可以了解一下。这里主要是给大家分享一个插件。希望对你有帮助。若有兴趣大家下来可以相互的交流一下。