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