【Lodop】01 Lodop手冊閱讀上手
官方網站:
http://www.c-lodop.com/index.html
版本:6.2.2.6
一、概述
Lodop是一款用於WEB列印開發的專業WEB列印控制元件
控制元件釋出包有3個系統檔案組成,主要功能用3個控制元件引數和2組功能函式來實現。
二、系統檔案
Lodop釋出包內主要有如下三個安裝檔案:
1、install_lodop32.exe 2、install_lodop64.exe 3、CLodopPrint_Setup_for_Win32NT.exe
前兩個是列印控制元件安裝檔案,第三個是雲列印服務安裝檔案。
建議頁面綜合部署,即部分瀏覽器採用控制元件,另外瀏覽器採用雲列印,該選擇過程由LodopFuncs
C-Lodop雲列印32位安裝檔案可以適用於32位或64位作業系統,更詳細的安裝使用請參考《雲列印C-Lodop技術手冊》。
下載地址:
http://www.c-lodop.com/download.html
install_lodop32.exe和 install_lodop64.exe
這倆檔案是lodop控制元件安裝和升級的主程式檔案,
install_lodop32.exe適用於32位瀏覽器,install_lodop64.exe適用於64位瀏覽器,提供給使用者或開發者下載安裝。
如果不特意攔截一般都能100%安裝,對“網頁外掛安裝難”有徹底改善。
如果將其複製或改名為uninstall_lodop32.exe (或uninstall_lodop64.exe)就可用來解除安裝控制元件。
Lodop安裝後,在作業系統Program Files\MountTaiSoftware\Lodop目錄下會生成兩個實體檔案:
CAOSOFT_WEB_PRINT_LODOP.OCX
NPCAOSOFT_WEB_PRINT_LODOP.DLL
前一個是標準OCX檔案,它是Lodop的功能核心,後者是一個NPPlugin檔案,其作用是實現多瀏覽器支援。
目前Lodop支援:
IE系列、
IE核心系列(遨遊、360、世界之窗、騰訊TT、搜狗等)瀏覽器,
Firefox(火狐)系列、
Chrome(谷歌)系列、
Opera系列、
Safari系列
等Windows下幾乎所有的瀏覽器,通過雲列印。
安裝程式檔案有幾個預定引數:
-waitXX 該引數設定安裝程式執行完畢後自動關閉視窗,這裡的XX表示關閉前等待的秒數,如果是0秒則安裝(或解除安裝)成功後立即關閉,例如: –wait8 -nowindow 該引數設定安裝程式執行時不出現介面視窗(所謂的靜默安裝)。 -un 該引數使程式執行解除安裝操作,優先於檔名。 -in 該引數使程式執行安裝操作,優先於檔名。
LodopFuncs.js
該檔案是用來引導安裝控制元件的一個JS檔案,是個樣例,但建議直接採用。
其中getLodop的任務是判斷當前瀏覽器的型別並決定採用哪個物件例項,並檢測控制元件是否安裝、是否最新版本、並引導安裝或升級,
加入了相容C-Lodop雲列印的檢測資訊。
檔案主要內容如下:
//===判斷是否需要安裝CLodop雲列印伺服器(針對不支援np外掛的瀏覽器)=== function needCLodop(){ try{ var ua=navigator.userAgent; if (ua.match(/Windows\sPhone/i) !=null) return true; if (ua.match(/iPhone|iPod/i) != null) return true; if (ua.match(/Android/i) != null) return true; if (ua.match(/Edge\D?\d+/i) != null) return true; if (ua.match(/QQBrowser/i) != null) return false; var verTrident=ua.match(/Trident\D?\d+/i); var verIE=ua.match(/MSIE\D?\d+/i); var verOPR=ua.match(/OPR\D?\d+/i); var verFF=ua.match(/Firefox\D?\d+/i); var x64=ua.match(/x64/i); if ((verTrident==null)&&(verIE==null)&&(x64!==null)) return true; else if ( verFF !== null) { verFF = verFF[0].match(/\d+/); if ( verFF[0] >= 42 ) return true; } else if ( verOPR !== null) { verOPR = verOPR[0].match(/\d+/); if ( verOPR[0] >= 32 ) return true; } else if ((verTrident==null)&&(verIE==null)) { var verChrome=ua.match(/Chrome\D?\d+/i); if ( verChrome !== null ) { verChrome = verChrome[0].match(/\d+/); if (verChrome[0]>=42) return true; }; }; return false; } catch(err) {return true;}; }; … //====獲取LODOP物件的主過程:==== function getLodop(oOBJECT,oEMBED){ … var LODOP; try{ … if (LODOP.VERSION<"6.2.0.3") { if (needCLodop()) document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; else if (is64IE) document.write(strHtm64_Update); else if (isIE) document.write(strHtmUpdate); else document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML; return LODOP; }; //===如下空白位置適合呼叫統一功能(如註冊語句、語言選擇等):=== //=========================================================== return LODOP; } catch(err) {alert("getLodop出錯:"+err);}; };
關鍵點是VERSION函式,Lodop提供了這個“讀版本號”功能,
這樣控制元件的安裝和升級任務就交給JS來實現,以下是控制元件在頁面內的呼叫程式碼,
其中包含getLodop的使用:
<head> <title></title> <script language="javascript" src="LodopFuncs.js"></script> <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed> </object> </head> <body> <script language="javascript"> var LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM')); </script> … </body>
以上兩段程式碼相互配合實現了Lodop的安裝、呼叫和升級。
之所以將LodopFuncs.js作為一個資原始檔來部署,既可以利用瀏覽器的快取減少頁面內容的重複下載,同時還實現了控制元件釋出統一管理,
整個應用系統中只要這一個地方釋出Lodop,其它頁面直接拷貝嵌入第2段程式碼就可以了。
三、控制元件引數
Lodop有如下控制元件引數,以頁面object物件元素的引數形式使用:
Caption
名稱:設定控制元件的顯示標題 格式:<param name="Caption" value="我是列印控制元件lodop"> 功能: 控制元件在頁面內一般是以object元素形式被引用。可以通過設定元素的width和height等於0來隱藏控制元件,不隱藏時可以為控制元件設定一個標題,以便於看到控制元件是否被正確安裝,以及控制元件物件在頁面內的位置。希望列印預覽介面或設計介面內嵌到網頁內時,本引數很有用。 |
Color
名稱:設定控制元件的顯示區域顏色 格式:<param name="Color" value="#C0C0C0"> 功能:通過該引數設定控制元件顯示區域的底色,對於希望列印預覽介面或設計介面內嵌到網頁內時,本引數可以讓控制元件容易融於整體頁面。 引數值採用超文字顏色形式,可以是三色16進位制值組合,也可以是英文顏色名。 |
Border
名稱:設定控制元件的顯示區域邊界 格式:<param name="Border" value="1"> 功能:通過該引數設定控制元件顯示區域的邊界,值等於1表示有邊界,否則無邊界。本引數可以讓控制元件更融於整體頁面。 |
四、功能函式
Lodop的功能函式不多,但引數比較複雜。
全部函式分“基本函式”和“擴充套件函式”兩類,兩類函式有類似性,
基本函式使用簡單,達不到要求時請使用擴充套件函式,二者無本質區別。
[詳細描述不贅述,實際應用再另開一篇單獨詳細分析]
五、軟體使用權註冊
列印控制元件Lodop是一款專業共享軟體,公開發行版本沒有功能限制,多數使用者可免費長期使用,僅如下功能需要註冊使用權:
1、 (不經過預覽的)“直接列印”功能;
2、 “匯出資料到Excel檔案” 功能;
不經註冊使用以上功能時,列印輸出結果的左下角會出現“本頁由【試用版列印控制元件LodopX.0】輸出”小字樣水印。
Lodop註冊號的價格表、購買方式和使用方法見:
http://www.c-lodop.com/Lodop_Lic.html
六、列印維護和列印設計
列印設計的目標使用者是軟體開發者,詳細功能解釋略。
列印設計用到的快捷鍵:
ctrl 選中;
ctrl + delete 刪除;
ctrl + 方向鍵 移動微調;
ctrl + 滑鼠滑動 選中區域內列印項;
ctrl + 列印物件,同時拖拉一個物件就複製了;
列印物件列中按住ALT鍵的同時拖拉改變物件的順序位置。
列印維護的目標使用者是頁面操作者,詳細功能解釋略。
七、使用樣例
演示樣例參見發行檔案包及其技術手冊可從如下地址下載:
http://www.c-lodop.com/download.html
http://www.mtsoftware.cn/download.html
八、計量單位
本文所述px單位固定換算關係如下,與畫素類似但不是一個概念,也不受顯示影響:
1in(英寸)=2.54cm(釐米)=25.4mm(毫米)=72pt(磅)=96px
另外一個特殊的計量單位“%(百分比)”,是指相對於紙張大小的百分比值,
其中“上、下邊距、高度”等的百分比是相對於紙張高度(橫向列印時則是寬度)的比值,
而“左、右邊距和寬度”的百分比是相對於紙張寬度(橫向列印時則是高度)的比值。