亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于MVC+EasyUI的web開發框架之使用云打印控件C-Lodop打印頁面或套打報關運單信息

2019-11-20 09:08:01
字體:
來源:轉載
供稿:網友

在最新的MVC4+EasyUI的Web開發框架里面,我整合了關于網購運單處理的一個模塊,其中整合了客戶導單、運單合并、到貨掃描、扣倉、出倉、查詢等各個模塊的操作,里面涉及到一些運單套打的操作,不過由于之前介紹LODOP不兼容Chrome等瀏覽器,因此曾經想放棄這個控件的打印處理,不過他們及時推出了“云打印控件C-Lodop“,而且對之前的接口幾乎完全兼容,因此在框架里也繼續沿用了這個控件來進行相關的打印處理,包括常規的打印和運單信息套打等處理。

1、控件的安裝

這個云控件C-Lodop(http://www.lodop.net/)其實是在本地安裝后,駐留服務提供JS的服務的,安裝后啟動程序后界面如下所示。

這種通過服務器提供JS服務的方式,比插件方式好很多,測試過Chrome瀏覽器也可以順利打印了,原來的LODOP插件方式的打印是不兼容的。

通過它們本身自帶的JS初始化代碼,可以了解到該控件目前采用非插件方式進行處理打印操作的了。

//讓其它電腦的瀏覽器通過本機打?。ㄟm用例子):var oscript = document.createElement("script");oscript.src = "/CLodopfuncs.js";var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;head.insertBefore(oscript, head.firstChild);//讓本機瀏覽器打印(更優先):oscript = document.createElement("script");oscript.src = "http://localhost:8000/CLodopfuncs.js?priority=1";var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;head.insertBefore(oscript, head.firstChild);//本機瀏覽器的后補端口8001(這種兼顧做法可能報錯不用理它):oscript = document.createElement("script");oscript.src = "http://localhost:8001/CLodopfuncs.js?priority=2";var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;head.insertBefore(oscript, head.firstChild);

官方例子提供了LodopFuncs.js文件用來構建打印控件的,其中在LodopFuncs.js文件里面定義了getLodop函數,用來獲得打印控件對象的。

檢查是否安裝了云打印控件的JS代碼如下所示。

<script language="javascript" type="text/javascript"> function CheckIsInstall() { try{ var LODOP=getLodop(); if (LODOP.VERSION) {if (LODOP.CVERSION)alert("當前有C-Lodop云打印可用!/n C-Lodop版本:"+LODOP.CVERSION+"(內含Lodop"+LODOP.VERSION+")"); elsealert("本機已成功安裝了Lodop控件!/n 版本號:"+LODOP.VERSION); };}catch(err){ } }; </script>

2、云打印控件C-Lodop的使用

這個控件和原來的LODOP的使用保持一致性,不用修改原來的代碼就可以直接使用最新的打印方式,非常贊,關于這個控件的使用,我在前面介紹了很多相關的使用過程。

如在Winform里面利用網頁套打證件的案例《基于NVelocity的幾種內容生成方式匯總》。

以及在Web頁面的套打處理《Web打印解決方案之證件套打的實現思路》,以及《Web打印的解決方案之普通報表打印》,里面對控件的使用操作做了很詳細的介紹。

該控件提供了很詳細的各種案例(http://www.lodop.net/demo.html),可以參考學習使用。
在前面介紹了,我在框架里面的網購運單處理里面,繼續使用了這個控件進行套打的處理,例如我們需要套打類似這樣的界面內容。

我們設計好套打頁面內容,如下所示。

設計好的內容,我們可以把它們轉換為頁面里面的JS代碼如下所示。

<script src="/Content/JQueryTools/LODOP/CheckActivX.js"></script><script type="text/javascript">var LODOP; //聲明為全局變量 function Preview() {//打印預覽LODOP = getLodop();LODOP.PRINT_INITA(-1, -1, 824, 1129, "運單套打");CreateLicenseData();LODOP.SET_PREVIEW_WINDOW(2, 0, 0, 800, 600, "");LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");LODOP.PREVIEW();};function Setup() {//打印維護LODOP = getLodop();LODOP.PRINT_INITA(-1, -1, 824, 1129, "運單套打");CreateLicenseData();LODOP.PRINT_SETUP();};function Design() {//打印設計LODOP = getLodop();LODOP.PRINT_INITA(-1, -1, 824, 1129, "運單套打");CreateLicenseData();LODOP.PRINT_DESIGN();};function CreateLicenseData() { if (printID != undefined && printID != '') {//使用同步方式,使得聯動的控件正常顯示$.ajaxSettings.async = false;//首先用戶發送一個異步請求去后臺實現方法$.getJSON("/BillDetail/FindByID?id=" + printID, function (info) {LODOP.ADD_PRINT_SETUP_BKIMG("<img src='/Content/Template/空白套打模板.png'/>");LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW", true);//預覽包含背景LODOP.SET_SHOW_MODE("BKIMG_PRINT", true);//打印內容包含背景LODOP.ADD_PRINT_BARCODE(78, 441, 262, 56, "128C", info.FenyunDanhao);LODOP.ADD_PRINT_BARCODE(684, 441, 262, 56, "128C", info.FenyunDanhao);LODOP.ADD_PRINT_TEXT(186, 287, 277, 39, info.Shou_Com);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(236, 378, 186, 28, info.Shou_Name);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(276, 283, 284, 67, info.Shou_Dizhi);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(362, 306, 254, 30, info.Shou_Phone);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(404, 319, 51, 30, info.Jianshu);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(400, 476, 95, 31, info.Zhongliang);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(187, 33, 227, 39, info.Fa_Gongsi);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(277, 33, 230, 65, info.Fa_Dizhi);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(364, 37, 227, 25, info.Fa_Phone);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(410, 37, 226, 26, info.Pinming);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(803, 34, 234, 39, info.Fa_Gongsi);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(895, 32, 238, 66, info.Fa_Dizhi);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(979, 33, 234, 25, info.Fa_Phone);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(1024, 35, 228, 25, info.Pinming);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(802, 285, 287, 39, info.Shou_Com);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(849, 373, 198, 28, info.Shou_Name);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(894, 285, 287, 67, info.Shou_Dizhi);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(980, 287, 281, 26, info.Shou_Phone);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(1021, 317, 59, 29, info.Jianshu);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);LODOP.ADD_PRINT_TEXT(1017, 477, 95, 30, info.Zhongliang);LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);});}}//打印預覽var printID;function PrintDetail() {var row = $("#gridDetail").datagrid("getSelected");if (row) {var index = $('#gridDetail').datagrid('getRowIndex', row);printID = row.ID;Preview();}else {$.messager.alert("提示", "請選擇一個記錄");}}//批量打印function BatchPrint() {//得到用戶選擇的數據的IDvar rows = $("#gridDetail").datagrid("getSelections");if (rows.length >= 1) {//然后確認發送異步請求的信息到后臺刪除數據$.messager.confirm("批量打印確認", "您確認批量打印選定的記錄嗎?", function (action) {if (action) {for (var i = 0; i < rows.length; i++) {LODOP = getLodop();LODOP.PRINT_INIT("");LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");printID = rows[i].ID;CreateLicenseData();LODOP.PRINT();}}});}else {$.messager.alert("提示", "請選擇你要批量打印的數據");}}//打印維護function PrintSetup() {var row = $("#gridDetail").datagrid("getSelected");if (row) {var index = $('#gridDetail').datagrid('getRowIndex', row);printID = row.ID;Setup();}}</script>

其中這個打印界面中,還用到了二維碼的打印處理操作,這樣很方便直接使用條碼槍直接讀取,如下代碼:

LODOP.ADD_PRINT_BARCODE(78, 441, 262, 56, "128C", info.FenyunDanhao);LODOP.ADD_PRINT_BARCODE(684, 441, 262, 56, "128C", info.FenyunDanhao);

然后在主頁面里面設定打印的操作功能按鈕進行處理,下面是我們基于EasyUI的Web框架界面效果。

打印預覽界面如下所示,實際打印的時候,我們可以設定不打印背景圖片。

如果是常規打印,那么他們的界面和我們看到的頁面內容非常接近,如下所示。

參考代碼如下所示。

@*添加對LODOP控件的支持*@<script type="text/javascript">var LODOP; //聲明為全局變量 function Preview() {//正本打印CreateLicenseData();LODOP.SET_SHOW_MODE("PREVIEW_IN_BROWSE", 1);LODOP.PREVIEW();};function PrintA() {CreateLicenseData();LODOP.PRINTA();};function Setup() {//正本打印維護CreateLicenseData();LODOP.PRINT_SETUP();};function Design() {//正本打印設計CreateLicenseData();LODOP.PRINT_DESIGN();};function CreateLicenseData() {LODOP = getLodop();LODOP.PRINT_INIT("政策法規");var strBodyStyle = "<link type='text/css' rel='stylesheet' href='/Content/Themes/Default/style.css' /><style><!--table { border:1;background-color: #CBCBCC } td {background-color:#FFFFFE;border: 1; } th { background-color:#F1F1F3;padding-left:5px;border:1}--></style>";var strFormHtml = strBodyStyle + "<body>" + document.getElementById("printContent").innerHTML + "</body>";LODOP.ADD_PRINT_HTM(20, 40, 610, 900, strFormHtml);LODOP.PREVIEW();}function SaveAs() {var id = $('#ID2').val();window.open('/Information/ExportWordById?id=' + id );}</script>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕日韩av电影| 国产精品网址在线| 久久久久久久久久久av| 亚洲精品国偷自产在线99热| 亚洲午夜av久久乱码| 久久青草福利网站| 久久久久久中文字幕| 亚洲一级一级97网| 成人在线视频网站| 2019中文字幕在线| 日韩成人在线网站| 国产精品欧美久久久| 国产亚洲一级高清| 亚洲一区二区三区视频播放| 55夜色66夜色国产精品视频| 亚洲xxxxx| 欧美精品在线看| 亚洲精品www久久久久久广东| 91欧美激情另类亚洲| 国产精品久久9| 日本国产精品视频| 日韩资源在线观看| 国产一区二区三区在线观看视频| **欧美日韩vr在线| 国产精品∨欧美精品v日韩精品| 国产伦精品一区二区三区精品视频| 精品国偷自产在线| 欧美午夜精品久久久久久浪潮| 亚洲欧美在线一区二区| 懂色av影视一区二区三区| 日韩欧美精品网站| 久久久久久久久国产精品| 久久久久久这里只有精品| 国产精品美女久久久久久免费| 成人精品一区二区三区电影黑人| 欧美日韩中文在线观看| 久久成年人视频| 国产精品极品在线| 亚洲va男人天堂| 欧美一区二区三区免费视| 亚洲伊人成综合成人网| 亚洲欧美在线免费观看| 亚洲欧美日本另类| 国产精品露脸av在线| 亚洲风情亚aⅴ在线发布| 国产精品亚发布| 91精品国产综合久久香蕉的用户体验| 亚洲美女在线观看| 久久久亚洲欧洲日产国码aⅴ| 久久影院资源站| 69久久夜色精品国产7777| 91免费看国产| 欧美日韩精品在线观看| 欧美中文在线字幕| 亚洲一区二区中文字幕| 欧美精品videosex牲欧美| 久久亚洲精品成人| 色综合色综合久久综合频道88| 狠狠躁18三区二区一区| 福利视频一区二区| 欧美猛少妇色xxxxx| 国产九九精品视频| 精品中文字幕乱| 国产视频在线观看一区二区| 久久手机免费视频| 久久人人爽人人| 日韩精品在线私人| 欧美丝袜美女中出在线| 精品久久久久久国产91| 亚洲色图激情小说| 国产亚洲一级高清| 欧美性高潮床叫视频| 国产亚洲欧洲高清一区| 高清日韩电视剧大全免费播放在线观看| 亚洲色图13p| 91av在线不卡| 中文字幕久热精品视频在线| 亚洲男人天堂网| 久久99精品国产99久久6尤物| 国产精品美女久久久久久免费| 91九色视频在线| 久久影视三级福利片| 国产精品扒开腿做爽爽爽男男| 最近日韩中文字幕中文| 国产成人一区二区三区| 国产精品久久久久国产a级| 国产成人极品视频| 亚洲自拍偷拍区| 在线视频日本亚洲性| 欧美日韩一区二区三区在线免费观看| 亚洲国产美女久久久久| 日韩三级成人av网| 欧美激情第99页| 动漫精品一区二区| 亚洲精品福利资源站| 2023亚洲男人天堂| 中文字幕一区二区三区电影| 欧美性猛交xxxxx水多| 在线电影欧美日韩一区二区私密| 91美女片黄在线观看游戏| 97久久精品人人澡人人爽缅北| 日韩精品久久久久久福利| 国产欧美日韩免费看aⅴ视频| 在线一区二区日韩| 日韩亚洲第一页| 欧美成人黑人xx视频免费观看| 久久精品欧美视频| 欧美激情一区二区三区在线视频观看| 欧美高清视频在线观看| 精品久久久久久国产91| 亚洲欧洲日产国码av系列天堂| 欧美国产日韩免费| 成人h猎奇视频网站| 亚洲综合色激情五月| 日韩福利视频在线观看| 亚洲女人被黑人巨大进入al| 国产成人高清激情视频在线观看| 曰本色欧美视频在线| 北条麻妃一区二区三区中文字幕| 亚洲已满18点击进入在线看片| 日韩一区二区三区xxxx| 国产ts人妖一区二区三区| 久久久女人电视剧免费播放下载| 成人午夜在线视频一区| 91视频国产精品| 九九热r在线视频精品| 久久夜色精品国产欧美乱| 国产精品精品久久久久久| 国产精品激情自拍| 日韩中文在线中文网三级| 国产一区二区三区在线免费观看| 亚洲成成品网站| 国产欧美在线看| 91啪国产在线| 欧美日韩一二三四五区| 国产日韩精品视频| 欧美尺度大的性做爰视频| 亚洲免费av电影| 亚洲一区二区国产| 欧美性色xo影院| 中文字幕欧美国内| 亚洲аv电影天堂网| 国产精品视频精品| 永久免费毛片在线播放不卡| 国产精品免费网站| 国产一区二区三区四区福利| 国产欧美精品xxxx另类| 欧美成人精品影院| 亚洲视频国产视频| 国产精品爱啪在线线免费观看| 日韩人在线观看| 亚洲护士老师的毛茸茸最新章节| 日本亚洲精品在线观看| 成人国产在线视频| 欧美一性一乱一交一视频| 2019中文字幕免费视频| 日韩中文字幕视频在线| 中文字幕不卡在线视频极品| 成人在线精品视频| 亚洲福利在线播放| 亚洲国内精品视频| 中文字幕日韩欧美在线视频| 中文字幕日韩精品有码视频| 这里精品视频免费|