Lodop是一款專業(yè)的WEB打印控件,其設(shè)計目標是簡單易用、功能足夠強大,開創(chuàng)WEB打印開發(fā)的新局面。Lodop5.0(Web打印和套打控件)是一個很好的打印插件Lodop,它是一個專門針對web頁面打印的控件,里面封裝了很多的JS API,用戶只要根據(jù)自己特定的需要調(diào)用里面相應(yīng)的接口,就可以實現(xiàn)各種很復雜的打印的功能,例如記錄頁面、圖片包括復雜的圖表等等它都能夠幫你實現(xiàn),在用的過程中,還發(fā)現(xiàn)它還能夠打印條形碼、公章,而且它還能實現(xiàn)將記錄導出到一個excel文件當中,無論你的表格多么復雜,它都能幫你實現(xiàn),而且只需要在前臺控制就可以
Lodop設(shè)計者對WEB下的打印開發(fā)任務(wù)進行了分類匯總,高度抽象,設(shè)計出僅用幾個功能函數(shù),就可實現(xiàn)復雜的打印任務(wù),盡量減少使用者的知識累贅?丶l(fā)布包有3個系統(tǒng)文件組成,全部功能用幾個控件參數(shù)和2組功能函數(shù)來實現(xiàn)。
盡管我們有個理想化的目標,那就是您不用詳細了解這些參數(shù)或函數(shù),僅僅看懂幾個樣例文件就能很輕松地開始使用本控件,為此Lodop提供了一個足夠完善的設(shè)計界面,用它可以實現(xiàn)大多數(shù)打印開發(fā)任務(wù),但事實上了解這些參數(shù)和函數(shù)總還是有好處的,特別是當您的開發(fā)任務(wù)很復雜時,這就是本文目的,但愿本文檔足夠詳細且簡單明了。
環(huán)境搭建:
根據(jù)相應(yīng)的操作系統(tǒng),安裝install_lodop32.exe文件,它里面包含兩個exe文件install_lodop32.exe和install_lodop64.exe,在頁面的頭部中引入:
<!--打印插件-->
<scripttype="text/javascript"src="<%=basePath%>js/LodopFuncs.js"></script>
<objectid="LODOP_OB"classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA"width=0height=0>
<embedid="LODOP_EM"type="application/x-print-lodop"width=0height=0></embed>
</object>
<!--打印end-->
當我們在執(zhí)行操作的時候,它會根據(jù)相應(yīng)的操作系統(tǒng)(32位or64位),選擇相應(yīng)的exe文件,下載安裝,這個安裝文件比較小,所以安裝起來也比較方便。卸載它也很簡單,只要復制這個exe文件,然后改名為:uninstall_lodop32.exe,點擊運行即可,安裝后我們就可以使用里面的JS函數(shù)了:
●PRINT_INIT(strPrintTaskName)打印初始化
●SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName)設(shè)定紙張大小
●ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight,strHtml)增加超文本項
●ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent)增加純文本項
●ADD_PRINT_TABLE(intTop,intLeft,intWidth,intHeight,strHtml)增加表格項
●ADD_PRINT_SHAPE(intShapeType,intTop,intLeft,intWidth,intHeight,intLineStyle,intLineWidth,intColor)畫圖形
●SET_PRINT_STYLE(strStyleName, varStyleValue)設(shè)置對象風格
●PREVIEW打印預覽
●PRINT直接打印
●PRINT_SETUP打印維護
●PRINT_DESIGN打印設(shè)計
最基本的打印過程至少有初始化語句、添內(nèi)容語句和打印語句三部分組成,例如:
LODOP.PRINT_INIT("打印任務(wù)名");//首先一個初始化語句
LODOP.ADD_PRINT_TEXT(0,0,100,20,"文本內(nèi)容一");//然后多個ADD語句及SET語句
LODOP.PRINT();//最后一個打印(或預覽、維護、設(shè)計)語句
系統(tǒng)文件
Lodop發(fā)布包內(nèi)主要有如下三個文件:
install_lodop.exe
該文件是控件安裝和升級的主文件,提供給用戶或開發(fā)者下載安裝,如果不特意攔截一般都能100%安裝,對“網(wǎng)頁插件安裝難”有一定改善。如果將其復制或改名為uninstall_lodop.exe (名前加un)就可用其卸載控件。
Lodop安裝后,在操作系統(tǒng)目錄WINDOWS\system32下會安裝一個OCX文件:CAOSOFT_WEB_PRINT_LODOP.OCX,有特殊需要的使用者可以將該文件自主簽名,用傳統(tǒng)的OCX安裝方式發(fā)布。
CheckActivX.js
該文件是用來引導安裝控件的一個JS文件,是個樣例,但建議直接采用。其中CheckLodop的任務(wù)是檢查控件是否安裝、是否最新版本、并引導安裝或升級。
npActiveXFirefox4x.xpi
該文件是Firefox瀏覽器需要的安裝附加文件。目前Lodop支持IE系列瀏覽器、Firefox系列瀏覽器和IE內(nèi)核類瀏覽器(遨游、騰訊TT、麒麟、世界之窗等)及其它支持ActiveX的各類瀏覽器。
WEB打印控件Lodop使用體會
控件的使用方法,作者都已經(jīng)有詳細的使用說明供使用者參考。
但是對于打印表格,確實出現(xiàn)一點小問題,如果表格是自然高度,也就是只設(shè)置了table的高度,此時是可以正常顯示的,但是如果表格中的td,或者tr的高度有設(shè)置值,此時就算顯示區(qū)域的高度值設(shè)置的與表格同高,打印出來的效果是分頁,這顯然不是我們的初衷。這說明表格的實際高度超出了顯示區(qū)域。如果將顯示區(qū)域的高度值遠超出表格的高度,才不會分頁。
問題出來了:1 如何遠超于這個高度值2.表格的真實高度到底是多少呢。
對于問題一,我們只要設(shè)置一個盡量大的值就好了,因為打印顯示效果是由表格的真實高度決定的,而不這個打印方法中設(shè)置的高度決定的。
對于問題二,如果對高度沒有定量的掌握,必然無法控制打印出來的效果。此時可以使用dw設(shè)計,而且一定要帶標尺。此時設(shè)計出來的位置與真實效果相差不多了。