[原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含22363字,纯文字阅读大概需要32分钟。
内容图文
最近在做Lodop打印功能:
思路是: 用MasterPage搭个打印页面的框架, 然后在具体的页面中填入数据, 打印的样式由母版页和CSS来控制.
困扰了一天的问题是: 在打印的JS文件中, 引用外部css文件时, 需要拼出实际的含有IP地址的CSS文件地址, 并且需要用双斜杠(//)来代替单斜杠.
代码如下:
//母版页, 注意: url的拼接形式
<input id="hidCssRef" name="hidCssRef" type="hidden" value =‘<link href="http://<%= this.Request.Url.Authority %>//App_Themes//<%=Application["Theme"].ToString()%>//Css//PrintStyleSheet.css" rel="stylesheet" type="text/css" />‘ />
//PrintHelper.Master
<% @ Master Language = " C# " AutoEventWireup = " true " CodeBehind = " PrintHelper.master.cs " Inherits = " JN.UI.Commons.PrintHelper.PrintHelper1 " %> <! DOCTYPE html > < html xmlns ="http://www.w3.org/1999/xhtml" > < head runat ="server" > < title ></ title > < link href ="/App_Themes/<%= Application[" Theme"].ToString() % > /Css/PrintStyleSheet.css" rel="stylesheet" type="text/css" /> < script src ="/Scripts/jquery-1.4.1.js" type ="text/javascript" ></ script > < script src ="/Scripts/jquery.json.js" type ="text/javascript" ></ script > < script src ="/Scripts/jquery.commons.js" type ="text/javascript" ></ script > < asp:ContentPlaceHolder ID ="headPlaceHolder" runat ="server" > </ asp:ContentPlaceHolder > < style > @media print { .noprint { display : none ; } .printOnly { display : block ; } } </ style > </ head > < body > < form id ="form1" runat ="server" > < div class ="page" > <!-- <input type="button" value="打印" onclick=‘<%= "printPreview(\‘"+ this.ContentPlaceHolder1.ClientID +"\‘);"%>‘ /> --> < input type ="button" value ="打印" onclick =‘<%= "printPreview(\"printContent\");" % > ‘ /> < input id ="hidCssRef" name ="hidCssRef" type ="hidden" value =‘<link href ="http://<%= this.Request.Url.Authority %>//App_Themes//<%=Application[" Theme"].ToString()% > //Css//PrintStyleSheet.css" rel="stylesheet" type="text/css" />‘ /> <!-- PrintStart --> < div id ="printContent" > < asp:ContentPlaceHolder ID ="ContentPlaceHolder1" runat ="server" > </ asp:ContentPlaceHolder > </ div > <!-- PrintEnd --> </ div > </ form > </ body > </ html >
//PrintHelper.Master.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; namespace JN.UI.Commons.PrintHelper { public partial class PrintHelper1 : System.Web.UI.MasterPage { #region 全局变量 privatestring _printType = HttpContext.Current.Request.QueryString.AllKeys.Contains("pType") ? HttpContext.Current.Request.QueryString["pType"] : string.Empty; #endregion#region 控件事件 protectedvoid Page_Init(object sender, EventArgs e) { //加载lodop的object HtmlGenericControl objControl = null; //string jsPathPatt = "~/Commons/PrintHelper/Resources/Scripts/{0}.js";string jsPathPatt = "/Commons/PrintHelper/Resources/Scripts/{0}.js"; string jsPath = string.Empty; switch (_printType) { case"winPter": gotodefault; case"webPter": //jsPath = this.Page.ResolveUrl(string.Format(jsPathPatt, "WebrowserPrinter")); jsPath = string.Format(jsPathPatt, "WebrowserPrinter"); break; case"lodPter": //加载lodop的原始JS文件string jsSrcPath = string.Format("/App_Libs/Lodop/6.203/{0}.js", "LodopFuncs"); HtmlGenericControl JsSrcControl = new HtmlGenericControl("script"); JsSrcControl.Attributes.Add("type", "text/javascript"); JsSrcControl.Attributes.Add("src", jsSrcPath); this.headPlaceHolder.Controls.Add(JsSrcControl); //lodop打印功能的JS jsPath = string.Format(jsPathPatt, "LodopPrinter"); //lodp的object objControl = new HtmlGenericControl("object"); objControl.Attributes.Add("id", "LODOP_OB"); objControl.Attributes.Add("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA"); objControl.Attributes.Add("id", "LODOP_OB"); objControl.Attributes.Add("width", "0"); objControl.Attributes.Add("height", "0"); //加载FF支持 HtmlGenericControl ffLodopSup = new HtmlGenericControl("embed"); ffLodopSup.Attributes.Add("id", "LODOP_EM"); ffLodopSup.Attributes.Add("type", "application/x-print-lodop"); ffLodopSup.Attributes.Add("width", "0"); ffLodopSup.Attributes.Add("height", "0"); objControl.Controls.Add(ffLodopSup); break; default: jsPath = string.Format(jsPathPatt, "WindowPrinter"); break; } //加载JS HtmlGenericControl JsControl = new HtmlGenericControl("script"); JsControl.Attributes.Add("type", "text/javascript"); JsControl.Attributes.Add("src",jsPath); this.headPlaceHolder.Controls.Add(JsControl); if(objControl != null) this.headPlaceHolder.Controls.Add(objControl); } protectedvoid Page_Load(object sender, EventArgs e) { } #endregion#region 初始化及绑定方法 #endregion } }
//具体的打印页面
//GodownEntryPrint.aspx
<% @ Page Title = "" Language = " C# " MasterPageFile = " ~/Commons/PrintHelper/PrintHelper.Master " AutoEventWireup = " true " CodeBehind = " GodownEntryPrint.aspx.cs " Inherits = " JN.UI.InventoryAdmin.GodownEntryPrint " %> <% @ Register src = " UserControls/UC_PrintTop.ascx " tagname = " UC_PrintTop " tagprefix = " uc1 " %> <% @ Register src = " UserControls/UC_GodownEntryPrint.ascx " tagname = " UC_GodownEntryPrint " tagprefix = " uc2 " %> < asp:Content ID ="Content1" ContentPlaceHolderID ="headPlaceHolder" runat ="server" > </ asp:Content > < asp:Content ID ="Content2" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server" > < uc1:UC_PrintTop ID ="UC_PrintTop1" runat ="server" /> < uc2:UC_GodownEntryPrint ID ="UC_GodownEntryPrint1" runat ="server" /> </ asp:Content >
//GodownEntryPrint.aspx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace JN.UI.InventoryAdmin { public partial class GodownEntryPrint : System.Web.UI.Page { protected void Page_Init(object sender, EventArgs e) { this.UC_PrintTop1.PrintTitle = "物资入库单"; } protectedvoid Page_Load(object sender, EventArgs e) { } } }
//具体的实现代码放在用户控件中
//GodownEntryPrint.ascx
<% @ Control Language = " C# " AutoEventWireup = " true " CodeBehind = " UC_GodownEntryPrint.ascx.cs " Inherits = " JN.UI.InventoryAdmin.UserControls.UC_GodownEntryPrint " %> < div class ="prnTable" > < div class ="baseInfo" > < table > < tr > < td class ="baseTitle" >< span >单据编号:</span></td><td class="baseContent"><span><asp:Label ID="lblGENum" runat="server" Text=""></asp:Label></span></td><td class="baseTitle"><span>发票号:</span></td><td class="baseContent"><span><asp:Label ID="lblInvoNum" runat="server" Text=""></asp:Label></span></td><td class="baseTitle"><span>发票金额:</span></td><td class="baseContent"><span><asp:Label ID="lblInvoSum" runat="server" Text=""></asp:Label></span></td></tr><tr><td class="baseTitle"><span>供应商:</span></td><td class="baseContent"><span><asp:Label ID="lblSuppName" runat="server" Text=""></asp:Label></span></td><td class="baseTitle"><span>入库日期:</span></td><td class="baseContent"><span><asp:Label ID="lblCreateTime" runat="server" Text=""></asp:Label></span></td><td class="baseTitle"><span>库存状态:</span></td><td class="baseContent"><span><asp:Label ID="lblInveStatus" runat="server" Text=""></asp:Label></span></td></tr></table></div><div class="detailInfo"><asp:Repeater ID="rptGEPrn" runat="server"><HeaderTemplate><table><thead><tr><td class="detailTitle"><span>物资编码</span></td><td class="detailTitle"><span>物资名称</span></td><td class="detailTitle"><span>规格型号</span></td><td class="detailTitle"><span>单位</span></td><td class="detailTitle"><span>账务类型</span></td><td class="detailTitle"><span>入库数量</span></td><td class="detailTitle"><span>入库单价</span></td><td class="detailTitle"><span>入库金额</span></td></tr></thead><tbody></HeaderTemplate><ItemTemplate><tr><td class="detailContent"><span><%# Eval("T_MaterialInfo.MaterialNO") %></span></td><td class="detailContent"><span><%# Eval("T_MaterialInfo.MaterialName") %></span></td><td class="detailContent"><span><%# Eval("T_MaterialInfo.MaterialSpec") %></span></td><td class="detailContent"><span><%# Eval("T_Unit.UnitName") %></span></td><td class="detailContent"><span><%# Eval("T_WareHouse.WHName") %></span></td><td class="detailContent"><span><%# Eval("T_ZGEdownEntry.ZGEAmount") %></span></td><td class="detailContent"><span><%# Eval("T_ZGEdownEntry.ZGEPrice") %></span></td><td class="detailContent"><span><asp:Label ID="lblSumPrice" runat="server" Text=‘<%# Eval("T_ZGEdownEntry.ZGESumPrice") %>‘></asp:Label></span></td></tr></ItemTemplate><FooterTemplate></tbody><tfoot><tr><td colspan="6"></td><td class="detailTitle"><span>总合计:</span></td><td class="detailContent"><span><asp:Label ID="lblTotalSum" runat="server" Text=""></asp:Label></span></td></tr></tfoot></table></FooterTemplate></asp:Repeater></div><div class="footInfo"><table><tr><td class="footTitle"><span>部门主管:</span></td><td class="footContent"><span><asp:Label ID="lblDepPrin" runat="server" Text=""></asp:Label></span></td><td class="footTitle"><span>制单:</span></td><td class="footContent"><span><asp:Label ID="lblDocOpter" runat="server" Text=""></asp:Label></span></td><td class="footTitle"><span>入库记账:</span></td><td class="footContent"><span><asp:Label ID="lblAccoClk" runat="server" Text=""></asp:Label></span></td></tr></table></div></div>
//GodownEntryPrint.ascx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using JN.BLL; using JN.Model.Entity; using JN.GTL; using JN.Model.Enums; using JN.BLL.Models; namespace JN.UI.InventoryAdmin.UserControls { public partial class UC_GodownEntryPrint : System.Web.UI.UserControl { #region 全局变量 private BLLServices _baoSrv; privateint _geNo = HttpContext.Current.Request.QueryString.AllKeys.Contains("geno") ? int.Parse(HttpContext.Current.Request.QueryString["geno"]) : -1; #endregion#region 控件事件 protectedvoid Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { InitData(); //BindData(); } } #endregion#region 绑定及初始化方法 privatevoid InitData() { if (this._geNo <= 0) thrownew ArgumentException("无效的入库单编号!", "_geNo"); this._baoSrv = new BLLServices(); //读取入库单信息 E_GodownEntry geInfo = this._baoSrv.GodownEntryBAO.GetGodownEntry(this._geNo); if(geInfo != null) { //处理入库单表头this.lblGENum.Text = geInfo.T_GodownEntry.GENumber; this.lblInvoNum.Text = geInfo.T_Invoice.InvoicenNumber; this.lblInvoSum.Text = geInfo.T_Invoice.InvoiceAmount.ToString(); this.lblSuppName.Text = geInfo.T_Supplier.SupplierName; this.lblCreateTime.Text = GTLServices.DateTimeHelper.FormatDataStr(geInfo.T_GodownEntry.GECreateTime); //this.lblInveStatus.Text = Enum.GetName(typeof(GodownEntryStatus),geInfo.T_GodownEntry.GEStatus);this.lblInveStatus.Text = getEnumStatus((GodownEntryStatus)Enum.Parse(typeof(GodownEntryStatus),geInfo.T_GodownEntry.GEStatus.ToString())); //处理入库单表尾this.lblDocOpter.Text = (this.Session["userInfo"] as SessionUser).User.T_User.UserName; this.lblAccoClk.Text = geInfo.T_User.UserName; //处理入库单详情 List<E_ZGEGodownEntry> detailLst = this._baoSrv.GodownEntryBAO.GetZGodownEntryList(geInfo.T_GodownEntry,null); this.rptGEPrn.DataSource = detailLst.Where(zg => zg.T_ZGEdownEntry.ZGENo == geInfo.T_GodownEntry.GENo).ToList(); this.rptGEPrn.DataBind(); //处理合计double total = 0.0; foreach(RepeaterItem ri inthis.rptGEPrn.Controls) { if(ri.ItemType == ListItemType.AlternatingItem || ri.ItemType == ListItemType.Item) { total += double.Parse((ri.FindControl("lblSumPrice") as Label).Text.Trim()); } elseif (ri.ItemType == ListItemType.Footer) { (ri.FindControl("lblTotalSum") as Label).Text = total.ToString("F2"); } } } } #endregion#region 私有方法 privatestring getEnumStatus(GodownEntryStatus status) { string result = string.Empty; switch (status) { case GodownEntryStatus.Normal: result = "正常"; break; case GodownEntryStatus.Delete: result = "删除"; break; case GodownEntryStatus.CancellingStocks: result = "退库"; break; default: result = string.Empty; break; } return result; } #endregion } }
//公共的表头
//PrintTop.asxs
<% @ Control Language = " C# " AutoEventWireup = " true " CodeBehind = " UC_PrintTop.ascx.cs " Inherits = " JN.UI.InventoryAdmin.UserControls.UC_PrintTop " %> < div class ="prnTitle" > < div > < h1 >ZXXXX公司</h1></div><div><h3><%= PrintTitle %></h3></div></div>
//PrintTop.ascx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace JN.UI.InventoryAdmin.UserControls { public partial class UC_PrintTop : System.Web.UI.UserControl { #region 全局变量 privateconststring VIEWTITLE = "_subTitle"; #endregion#region 控件事件 protectedvoid Page_Init(object sender, EventArgs e) { if (ViewState[VIEWTITLE] != null) this.PrintTitle = ViewState[VIEWTITLE].ToString(); } protectedvoid Page_Load(object sender, EventArgs e) { } #endregion#region 属性 ///<summary>/// 打印文件头副标题 ///</summary>publicstring PrintTitle { get { if (ViewState[VIEWTITLE] != null) return ViewState[VIEWTITLE].ToString(); elsereturnnull; } set { if (value != null && value.Length > 0) { ViewState[VIEWTITLE] = value; } else ViewState[VIEWTITLE] = null; } } #endregion } }
//print.js
// 以下是自己封装的JS打印、预览方法 // var LODOP = getLodop(document.getElementById(‘LODOP_OB‘), document.getElementById(‘LODOP_EM‘)); // var LODOP = getLodop(); var LODOP; //声明为全局变量//打印预览function printPreview(prnContentId) { LODOP.PRINT_INIT("Lodop功能_预览"); getPrintContent(prnContentId); LODOP.PREVIEW(); } //打印function print(prnContentId) { LODOP.PRINT_INIT("Lodop功能_打印"); getPrintContent(prnContentId); LODOP.PRINT(); } //获取打印内容function getPrintContent(prnContentId) { LODOP = getLodop(document.getElementById(‘LODOP_OB‘), document.getElementById(‘LODOP_EM‘)); //var cssRef = decodeURIComponent(document.getElementById(‘hidCssRef‘).value).replace(new RegExp(/\+/g)," ");var cssRef = document.getElementById(‘hidCssRef‘).value; //LODOP = getLodop();//初始化打印任务名//LODOP.PRINT_INIT("Lodop打印控件_打印表单");//打印预览设置var intDispMode = 2; //预览比例: 0-适高, 1-正常大小, 2-适宽;var intToolMode = 0; //工具条和按钮: 0-显示上方工具栏, 1-显示下方按钮兰, 3-两个都显示, 4-两个都不显示.var blDirectPrint = 0; //打印按钮是否"直接打印": 1-是, 0-否(选取打印机)var intWidth = 1024; //窗口的宽(单位:px)var intHeight = 680; //窗口的高(单位:px)var strTitleButtonCaption = ‘‘; //预览窗口和打印按钮的名称组合, 字符型, 用"点"分隔 LODOP.SET_PREVIEW_WINDOW(intDispMode, intToolMode, blDirectPrint, intWidth, intHeight, strTitleButtonCaption); //设置打印纸张大小.var intOrient = 2; //设置打印方向: 1-纵向(固定纸张), 2-横向(固定纸张), 3-纵向(宽度固定, 高度自适应), 0-方向不定(操作者自行设置). var intPageWidth = 0; //纸张宽度(单位0.1mm), 如:45表示4.5mmvar intPageHeight = 0; //纸张高度(单位0.1mm): 固定纸张时,表示纸张高; 自适应高度时, 表示纸张底边的空白高. 1480var strPageName = ‘A5‘; //纸张类型: intPageWidth为0时才有效. 可使用"CreateCustomPage"在系统内建立名为"LKodopCustomPage"的自定义纸张类型. LODOP.SET_PRINT_PAGESIZE(intOrient, intPageWidth, intPageHeight, strPageName); //设置打印风格//LODOP.SET_PRINT_STYLE("FontSize", 11);//这里设置打印内容(Top,Left,Width,Height) LODOP.ADD_PRINT_HTM("5%", "5%", "100%", "100%", cssRef + ‘<body>‘ + document.getElementById(prnContentId).innerHTML + ‘</body>‘); }
//项目添加了Lodop饮用后, 把自身的JS文件的修改下, 添加上未安装控件时引用自身目录下的控件文件
//LodopFuncs.js
var CreatedOKLodop7766=null; //====判断是否需要安装CLodop云打印服务器:====function needCLodop(){ try{ var ua=navigator.userAgent; if (ua.match(/Windows\sPhone/i) !=null) returntrue; if (ua.match(/iPhone|iPod/i) != null) returntrue; if (ua.match(/Android/i) != null) returntrue; if (ua.match(/Edge\D?\d+/i) != null) returntrue; if (ua.match(/QQBrowser/i) != null) returnfalse; 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)) returntrue; elseif ( verFF !== null) { verFF = verFF[0].match(/\d+/); if ( verFF[0] >= 42 ) returntrue; } elseif ( verOPR !== null) { verOPR = verOPR[0].match(/\d+/); if ( verOPR[0] >= 32 ) returntrue; } elseif ((verTrident==null)&&(verIE==null)) { var verChrome=ua.match(/Chrome\D?\d+/i); if ( verChrome !== null ) { verChrome = verChrome[0].match(/\d+/); if (verChrome[0]>=42) returntrue; }; }; returnfalse; } catch(err) {returntrue;}; }; //====页面引用CLodop云打印必须的JS文件:====if (needCLodop()) { var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement; //让其它电脑的浏览器通过本机打印(适用例子):var oscript = document.createElement("script"); oscript.src ="/CLodopfuncs.js"; head.insertBefore( oscript,head.firstChild ); //让本机浏览器打印(更优先): oscript = document.createElement("script"); oscript.src ="http://localhost:8000/CLodopfuncs.js?priority=1"; head.insertBefore( oscript,head.firstChild ); //本机浏览器的后补端口8001: oscript = document.createElement("script"); oscript.src ="http://localhost:8001/CLodopfuncs.js?priority=2"; head.insertBefore( oscript,head.firstChild ); }; //====获取LODOP对象的主过程:====function getLodop(oOBJECT,oEMBED){ var strHtmInstall="<br><font color=‘#FF00FF‘>打印控件未安装!点击这里<a href=‘/App_Libs/Lodop/6.203/install_lodop32.exe‘ target=‘_self‘>执行安装</a>,安装后请刷新页面或重新进入。</font>"; var strHtmUpdate = "<br><font color=‘#FF00FF‘>打印控件需要升级!点击这里<a href=‘/App_Libs/Lodop/6.203/install_lodop32.exe‘ target=‘_self‘>执行升级</a>,升级后请重新进入。</font>"; var strHtm64_Install = "<br><font color=‘#FF00FF‘>打印控件未安装!点击这里<a href=‘/App_Libs/Lodop/6.203/install_lodop64.exe‘ target=‘_self‘>执行安装</a>,安装后请刷新页面或重新进入。</font>"; var strHtm64_Update = "<br><font color=‘#FF00FF‘>打印控件需要升级!点击这里<a href=‘/App_Libs/Lodop/6.203/install_lodop64.exe‘ target=‘_self‘>执行升级</a>,升级后请重新进入。</font>"; var strHtmFireFox="<br><br><font color=‘#FF00FF‘>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>"; var strHtmChrome="<br><br><font color=‘#FF00FF‘>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>"; var strCLodopInstall = "<br><font color=‘#FF00FF‘>CLodop云打印服务(localhost本地)未安装启动!点击这里<a href=‘/App_Libs/Lodop/6.203/CLodopPrint_Setup_for_Win32NT.exe‘ target=‘_self‘>执行安装</a>,安装后请刷新页面。</font>"; var strCLodopUpdate = "<br><font color=‘#FF00FF‘>CLodop云打印服务需升级!点击这里<a href=‘/App_Libs/Lodop/6.203/CLodopPrint_Setup_for_Win32NT.exe‘ target=‘_self‘>执行升级</a>,升级后请刷新页面。</font>"; var LODOP; try{ var isIE = (navigator.userAgent.indexOf(‘MSIE‘)>=0) || (navigator.userAgent.indexOf(‘Trident‘)>=0); if (needCLodop()) { try{ LODOP=getCLodop();} catch(err) {}; if (!LODOP && document.readyState!=="complete") {alert("C-Lodop没准备好,请稍后再试!"); return;}; if (!LODOP) { if (isIE) document.write(strCLodopInstall); else document.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML; return; } else { if (CLODOP.CVERSION<"2.0.4.7") { if (isIE) document.write(strCLodopUpdate); else document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; }; if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED); if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT); }; } else { var is64IE = isIE && (navigator.userAgent.indexOf(‘x64‘)>=0); //=====如果页面有Lodop就直接使用,没有则新建:==========if (oOBJECT!=undefined || oEMBED!=undefined) { if (isIE) LODOP=oOBJECT; else LODOP=oEMBED; } elseif (CreatedOKLodop7766==null){ LODOP=document.createElement("object"); LODOP.setAttribute("width",0); LODOP.setAttribute("height",0); LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;"); if (isIE) LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA"); else LODOP.setAttribute("type","application/x-print-lodop"); document.documentElement.appendChild(LODOP); CreatedOKLodop7766=LODOP; } else LODOP=CreatedOKLodop7766; //=====Lodop插件未安装时提示下载地址:==========if ((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")) { if (navigator.userAgent.indexOf(‘Chrome‘)>=0) document.documentElement.innerHTML=strHtmChrome+document.documentElement.innerHTML; if (navigator.userAgent.indexOf(‘Firefox‘)>=0) document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML; if (is64IE) document.write(strHtm64_Install); elseif (isIE) document.write(strHtmInstall); else document.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML; return LODOP; }; }; if (LODOP.VERSION<"6.2.0.3") { if (needCLodop()) document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; elseif (is64IE) document.write(strHtm64_Update); elseif (isIE) document.write(strHtmUpdate); else document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML; return LODOP; }; //===如下空白位置适合调用统一功能(如注册语句、语言选择等):===//===========================================================return LODOP; } catch(err) {alert("getLodop出错:"+err);}; };
原文:http://www.cnblogs.com/cs_net/p/5435943.html
内容总结
以上是互联网集市为您收集整理的[原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.全部内容,希望文章能够帮你解决[原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。