打印之Lodop

前序

  前面遇到一个问题:在线打印合同。通过各方查找资料和请教他人,终于完美的解决了这个问题。其中的解决方案,可以查看: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         };
View Code

  这里我只用到了lodop的定点和直接打印。lodop其实包括,自己设计模板,并给对应的做点填充值,并且实现多中打印方式,如:传入html,URL等。这里就不赘述。有兴趣的朋友可以了解一下。这里主要是给大家分享一个插件。希望对你有帮助。若有兴趣大家下来可以相互的交流一下。

原文地址:https://www.cnblogs.com/zcy-xy/p/4316229.html