Lodop一款优秀的Web打印控件应用
一.什么是lodop
lodop取意自“load or print”,是一款优秀的Web打印控件。
在B/S系统中,传统打印控件总是“页面看到什么才能打印什么”,缺乏灵活性,使打印略显呆板。而使用lodop则可以做到“只看想看的、打印想打的”,不仅开发人员可以自由设置打印输出内容,用户还可对打印内容进行一系列调整。
lodop控件目前有简体中文、繁体中文、大五码(big5)和英文几个版本。
适用于IE系列浏览器、Firefox系列浏览器和IE内核浏览器(遨游、360、世界之窗、腾讯TT、搜狗等)等各类浏览器。
使用lodop作为WEB打印控件的优势:
1)、使用简单,易上手,在js中通过函数的调用就可以实现一项复杂打印任务的开发,极大地减少了打印功能开发量。
2)、网页中的任何内容都是打印输出时的裁减素材,使用JS语句将当前网页中某区域超文本显示在既定打印布局中输出,其在打印布局中的位置既可程序控制,也可由使用者在操作时调整。
3)、各类调整和打印设置等控制内容全部本地自动保存,彻底解决了一个大型软件工程项目中打印机类型繁杂时的精确套打问题。
4)、使用插件技术来实现WEB打印,插件安装方式不仅简单,而且成功率高。
二.lodop开发包介绍
Lodop开发包中主要有三个文件:
install_lodop.exe 是控件安装和升级文件,提供给用户或开发者下载安装。
CheckActivX.js 该文件是用来引导安装控件的一个JS文件,
其中CheckLodop方法的任务是检查控件是否安装、是否最新版本、并引导安装或升级。
npActiveXFirefox4x.xpi 该文件是Firefox浏览器需要的安装附加文件,由于平台只支持IE内核浏览器,故本文件不需要。
三.在平台中如何使用
在源码WebRoot下建立文件夹Lodop,文件夹中放入install_lodop.exe和CheckActivX.js两个文件。
其中,CheckActivX.js文件中的内容改为:
function CheckLodop(){
var oldVersion=LODOP.Version;
newVerion="5.0.2.3";
if (oldVersion==null)
document.write("<h3><font color='#FF00FF'>打印控件未安装!点击这里<a href="../Lodop/install_lodop.exe" target="_blank" rel="nofollow"> if (oldVersion<newVerion)
document.write("<h3><font color='#FF00FF'>打印控件需要升级!点击这里<a href="../Lodop/install_lodop.exe" target="_blank" rel="nofollow">}
1.使用<object>标签嵌入ActiveX控件:
在表单源码中的<head></head>中嵌入lodop插件。
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0></object>
2.引入CheckActivX.js文件
将CheckActivX.js作为一个资源文件来部署,可以利用浏览器的缓存减少页面内容的重复下载,提高执行效率。
在表单源码中的</head>和<body>间引入CheckActivX.js文件:
<SCRIPT language=Jscript src="../Lodop/CheckActivX.js"></SCRIPT>
3.创建lodop对象并调用验证方法:
在“JavaScript”页签中的初始化方法中创建lodop对象并调用验证方法:
function CustomizeiniObj()
{
//这里写入自定义代码的相关对象的初始化过程
var LODOP=document.getElementById("LODOP");
CheckLodop();
}
在初始化方法中生成lodop对象,这样就可以随时调用打印的相关方法了。
至此,lodop使用环境搭建完成,现在可以通过调用相关函数实现各种打印功能的开发了。
如:表单页面有以下内容:
ID: <INPUT type=text id=text_0 maxLength=50 name=text_0>
USERNAME: <INPUT type=text id=text_1 maxLength=50 name=text_1>
PASSWORD: <INPUT type=text id=text_2 maxLength=50 name=text_2>
SEX: <INPUT type=text id=text_3 maxLength=50 name=text_3>
AGE: <INPUT type=text id=text_4 maxLength=50 name=text_4>
EMAIL: <INPUT type=text id=text_5 maxLength=50 name=text_5>
在JavaScript中完成打印相关功能的开发:
生成需要打印输出的内容:
function createPrintPage(){
LODOP.PRINT_INIT("进行lodop打印测试...");
LODOP.ADD_PRINT_TEXT(30,60,170,20,document.getElementById("text_0").value);
LODOP.ADD_PRINT_TEXT(60,60,170,20,document.getElementById("text_1").value);
LODOP.ADD_PRINT_TEXT(90,60,170,20,document.getElementById("text_2").value);
LODOP.ADD_PRINT_TEXT(120,60,170,20,document.getElementById("text_3").value);
LODOP.ADD_PRINT_TEXT(150,60,170,20,document.getElementById("text_4").value);
LODOP.ADD_PRINT_TEXT(180,60,170,20,document.getElementById("text_5").value);
}
其中:PRINT_INIT()是初始化方法,必须有,参数作为此次打印任务显示,或者作为PDF文件打印时的文件名。
“页面代码通过控件来控制打印机”这是Lodop的基本思路。所以每一个内容必须要页面代码传给控件,控件是不会去页面获取信息的,
预览方法:
function print_view(){
createPrintPage();
LODOP.PREVIEW();
}
打印方法:
function print(){
createPrintPage();
LODOP.PRINT();
}
打印维护:
function print_setup(){
createPrintPage();
LODOP.PRINT_SETUP();
}
打印设计:
function print_design(){
createPrintPage();
LODOP.PRINT_DESIGN();
}
“打印维护”和“打印设计”的区别在于:
“打印维护”是对用户开放的,用户可以调整打印页面中的各个打印元素的位置等。
“打印设计”是对程序员开放的辅助开发工具,使用图形化的拖拉设计帮助程序员快速生成代码。
页面调用各方法:
<BUTTON onclick=print_view()>打印预览</BUTTON>
<BUTTON onclick=print()>打印</BUTTON>
<BUTTON onclick=print_setup()>打印维护</BUTTON>
<BUTTON onclick=print_design()>打印设计</BUTTON>
四.lodop的主要功能
除了最重要的基本打印功能外,lodop还有以下功能:
1.导出数据到Excel文件
2.控制纸张大小和连续打印
3.打印维护的功能权限
4.获得系统打印设备相关信息
5.支持页面地址(URL)打印
6.获取客户端系统信息
7.读写本地文件
五.lodop的发展
由于Lodop性能稳定,功能强大,使用简单,页面与本地资源可以很容易实现对接,鉴于此,lodop的功不断
扩充,lodop最后会发展成什么样子呢?我们密切关注中...
平台和lodop打印控件下载:http://mtsoftware.v053.gokao.net/download.html