`
wangtong40
  • 浏览: 252957 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

B/S结构下套打票据实现 - Lodop打印组件

阅读更多

      只有碰到刁难的客户,有挑战性的项目和过于会算计的老板才能锻造出真正过硬的开发人员!

      公司接了一个类POS机收费项目,这本是CS结构的强项,丰富的组建表现能力和完善成熟的票据打印解决方案。可是无良+无知的老板,偏以要求基于目前公司现有的B/S结构系统为基点,置于那些票据打印什么的屌问题,在Web结构下如何实现?那都是你们开发人员的事情,我只要求,以最少的投入,换来最大的产出~

      牢骚发完,还是说说这个让我头疼的套打票据的问题的处理如何解决处理的吧~Web模式的票据套打功能的实现,从我个人来说没有什么技术上的贡献,不过就是不断那各种各样的基于Web的打印组件,依次尝试,依次淘汰,从中选出最为适合自己的而已。


       用户要求:

      1、要求无打印机提示,同时实现及时录入、及时打印功能。

      2、用户已经预先定制了一批148mm * 92mm的套打票据。

         3、支持键盘快捷键打印。


XScript


我首先选择目前市面上比较流行的XScript打印组件,该软件的免费版本能够满足用户及录及印要求。但该软件存在几个问题是让我最终放弃的原因:1、该软件为国外软件,购买版权,不知如何下手?而且价格极其高昂;2、XScript是以打印页面某一部分区域(通过CSS进行屏蔽)的方式实现打印功能,对于套打类需求的票据来说,需要通过DIV+CSS的方式进行定位,因此调试票据费时费事;3、用户的票据高度仅为92mm,不只是Epson打印机的Bug还是其他原因,当我设定自定义格式票据(120mm*90mm)时,打印机已无法识别此尺度票据,完全无法满足用户要求(付费版本提供自定义票据大小功能,个人没有试用,不知是否可行),这也是我最终放弃该组件的根本原因。


Lodop5.0

Lodop5是我使用的第二款基于Web打印组件,也是个人最为满意的一款打印组件。

1、该软件的免费版本就支持票据的格式自定义功能,大大解决困扰我多时的票据格式问题。不过是在票据后面打印一行(您所使用Lodop控件为免费版本)。付费版本价格也十分低廉,对于真正好的软件,花一些银两对于我来说还是十分认可的。


SET_PRINT_PAGESIZE(Horizon/Vertical ,Width,Height,"");



 

2、该软件支持非常棒的套打功能,将票据扫描后,使用Lodop提供的票据编辑器进行编辑,一张票据的制作时间大大缩短。

LODOP.PRINT_DESIGN();



 3、Lodop提供了除支持烂IE外,还可以在Firefox等浏览器上使用,极大的方便了,目前浏览器使用多样性的的现状。





关于Lodop的几个常见疑问

Lodop新官方站点: http://www.MountTaiSoftware.com

感谢远宏信息科技 提供的网络空间和域名,该空间不限制流量,

欢迎大家访问,最新版本会第一时间在那里发布。

当该服务器不能访问时,请用另外一个克隆站点:http://MTSoftware.v053.gokao.net/index.html

Lodop的在线样例见:http://www.MountTaisoftware.com/samples/PrintSampIndex.html

 

 

如何购买打印控件Lodop的注册号

Lodop注册价格有两种:
一是按服务器IP或域名注册,注册费为160元/每个IP和域名;
二是按公司名注册,不限制IP或域名,注册费706元;

 

具体购买付款途径如下:

第一种方式:从天空商城购买,网店地址如下:
1、按公司名注册(价格706元): http://shareware.skycn.com/soft/20744.htm
2、按域名注册(价格160元): http://shareware.skycn.com/soft/28596.htm
可以请求邮寄发票,付款方式较多。

 

第二种方式,通过淘宝网购买,这种方式是担保交易,先抵押款、收到注册号后再确认付款。
1、价格是706元的链接
http://item.taobao.com/auction/item_detail-0db2-ed4f523cedca5e3cd648db066bf6d36e.jhtml
2、价格是160元的链接:
http://item.taobao.com/auction/item_detail-0db2-11cbfa99893bd9bbcccd6da4d0cdeecc.jhtml


第三种方式:联系作者直接购买:
作者联系方式QQ932131686,电子邮箱 gungho999@sina.com
两种价格都适合,可立即获得注册号,用支付宝付款,

 

网页打印插件Lodop1.0完整教程

一、概述

    网页插件Lodop是一款专业的WEB打印控件,它源自软件解决方案提供商在B/S框架项目中的自主研发。插件从1.0版就非常稳定,但正由 于其出身缘故,插件的应用比较适合如下情况:

  ●开发B/S架构项目,有很多打印功能要做

  ●用户相对固定但打印机类型繁杂

  ●有“套打票据”等精打业务,又不想多费精力

  ●有些内容和格式已在网页中,不想另做打印页面

  ●不想为打印问题多投资,打印不是开发重点

  ●希望找一个简单实用而且专业的打印方案

二、安装或升级

   Lodop的安装是它的彩头之一,由于浏览器的安全设置问题,一般插件的安装颇费脑筋,成功率大都很低。但Lodop的安装却做到了安全、简单和实用。在 Lodop的发布文件包中,只有一个关键安装文件install_lodop.exe,仅仅运行这个600K的小文件(IE系的浏览器不需要其它附加文 件)就可以成功安装。开发环境和最终用户的安装都可采用这个方式。如果将该文件改名为uninstall_lodop.exe(在原文件名前加un),就 变成卸载文件(靠!太节省了),而重复执行(新)安装文件就是升级。

   Lodop安装后,在系统目录 WINDOWS\system32下会安装一个ocx文件 CAOSOFT_WEB_PRINT_lodop.ocx,有特殊需要的使用者完全可以将该文件签名,用传统的OCX安装方式发布。
   细心的读者可能会发现,这种安装方式带来一个问题,就是软件新版本的升级判断(任何成熟的程序都存在升级可能),针对这个问题,Lodop的应对措施也比 较特别,在发布文件包中有一个安装和升级的样例JS文件CheckActivX.js,其内容如下:

function CheckLodop(){

   var oldVersion=LODOP.Version; 

       newVerion="1.0.1.0"; 

if (oldVersion==null){

   document.write("<br>插件Lodop未安装!请点击这里<a href='install_lodop.exe'>执行安装</a><br>");

if (navigator.appName=="Netscape")

   document.write("<br>(Firefox浏览器先点击这里<a href='npActivexPlugin.0.6.3.7.xpi'>安装运行环境</a>)<br>");

} else if (oldVersion<newVerion)

   document.write("<br>当前插件版本需要升级!<a href='install_lodop.exe'>点击这里执行升级</a><br>");

}

其中的关键点是LODOP.Version,可以看出Lodop提供了一个“读版本号”函数,这样版本的升级问题就全部交给JS来实现了(JS处理起这个 来就小菜了),以下是插件在页面内的调用代码,其中包含CheckLodop 的利用

<head><title> 网页标题 </title>

<script language="javascript" src="CheckActivX.js"></script>

</head>

<OBJECT

   ID="LODOP" CLASSID="clsid:2105C259-1E0C-4534-8141-A753534CB4CA"

   WIDTH=100  HEIGHT=28>

  <param name="Caption" value="打印准备好">

  <param name="Border" value="1">

</OBJECT>      

<script language="javascript">

    CheckLodop();

</script>

   以上两段代码相互配合实现了Lodop的安装、调用和升级。之所以将CheckActivX.js作为一个资源文件来部署,既可以利用浏览器的缓存减少页 面内容的重复下载量,毕竟多数应用是动态页面,同时还实现了插件发布统一管理,整个项目中只要有这一个地方发布Lodop。其它页面仅仅拷贝嵌入第2段代 码就OK了!

三、插件参数和插件函数

   Lodop的参数和函数并不多,但足够强大,这也是使用者喜欢它的原因之一。

  (在这个小段落有两个概念“插件参数”和“函数参数”,注 意它俩的区别)

1:插件参数:

    Lodop原设计的参数较多,但最常用的只有这几个:Caption、Border、Version、CompanyName、RegID 等五个。如果不希望在页面中显示插件,可以设置插件的WIDTH和HEIGHT全为0,假如要显示,那显示的插件名称就由参数Caption来设置,正如 样例中的“打印准备好”,可以从界面看清插件是否运行正常。

   参数Border可以设置插件的外观是否有边框线(感觉没有边框线更融入页面),这个参数用处不大,之所以介绍它是因为其参数值的类型很具代表性,在 Lodop的参数和函数中,逻辑值全部采用0(否false)和1(是true),所以Border的Value等于1就表示要加边框线了。

   如下是插件参数含义表: 

插件参数名

含义

Caption

插件显示名

Border

逻辑值:0-无边框线,1-有边框线

Version

版本号

CompanyName

(注册用)用户名简称,要求少于8个汉字或16个字符

RegID

(注册用)注册号,由版权人根据用户名简称提供,20个数字组成

   注册号可以将试用版直接变为正式版,试用版与正式版的区别是在打印输出时会含有“试用版”字样,功能并没有限制。

2、插件函数:

   Lodop控制输出布局,是利用函数来实现的。Lodop每个功能函数的参数比较多,但并不显繁琐和冗余,反而在实际应用中发现比用插件参数方式要灵活和 快速。

   Lodop的最初设计不仅仅是打印功能,所以功能函数很多,以下是打印类函数清单:

SET_PRINT_PAPER(intTop,intLeft,intWidth,intHeight,strPrintName);
ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent);
SET_PRINT_TEXT_STYLE(intItemNO,strFontName,ineSize,intBold,intItalic,intUnderline,intAlignment );
ADD_PRINT_HTML(intTop,intLeft,intWidth,intHeight,strContent);
PRINT_SETUP;
PREVIEW;
PRINT;

插件函数的功能及参数含义: 

函数名

函数参数

功能含义

SET_PRINT_PAPER

intTop, intLeft, intWidth, intHeight, strPrintName

功能:设置打印纸张;

参数分别设置纸张的上边距、左边距、宽、高及打印业务名;

ADD_PRINT_TEXT

intTop, intLeft, intWidth, intHeight, strContent

功能:增加一条文本打印项

参数分别设置文本在纸张内的上边距、左边距、宽、高及文本内容。

SET_PRINT_TEXT_STYLE

intItemNO, strFontName, ineSize, intBold, intItalic,intUnderline, intAlignment

功能:设置该文本项样式,无该函数则取缺省样式。IntItemNO是文本项序号,以ADD_PRINT_TEXT的先后顺序为准,从1开始。 strFontName是字体名,intAlignment左右靠齐方式 ,一般调试用。其它参数分别设置文 本内容项的字体大小、是否粗体、是否斜体和有否下划线。

ADD_PRINT_HTML

intTop, intLeft, intWidth, intHeight, strContent

功能:增加一项超文本打印区域。参数设置该区域在纸张内的上边距、左边距、宽、高及超文本获取语句(一般用innerHTML)

PRINT_SETUP

 

打印设置(自定布局)

PREVIEW

 

打印预览,无参数

PRINT

 

直接打印,无参数

 

   其中函数参数 strPrintName 需要特别注意, Lodop 控制的打印业务, 其布局可以在不同的使用者电脑上自行调整,调整结果保存在本地,保存时就按参数 strPrintName 指定值来起名的,所以 strPrintName 值不能重复(感觉这是 lodop 的一个软筋)!!至少在一个项目工程中不能出现重复。建议其赋值原则为:“工程简称”+“打印业务名称” + 版本序号。譬如“湖北省地税征管系统完税证套打”可以起名为: HBZGXT_WanShuiZhengTaoDa01

 

四、自定布局

    Lodop的自定布局功能是它的彩头之一。由于控制打印输出布局实在是件辛苦的事,而套打业务更是辛苦之极,如果程序面临的打印机类型繁杂,则是苦上加 苦!Lodop的设计者把这个苦差使给担了(非常感谢!)。

   自定布局也叫打印维护(当然其中包含传统意义上的打印维护,譬如选择纸张类型、打印方向等),是用插件函数PRINT_SETUP来启动的,如下是其JS 调用代码:

function prn_manage() {
   AddTwoForm();
   LODOP.PRINT_SETUP();
};
function AddTwoForm(){
  LODOP.SET_PRINT_PAPER(10,10,800,600,"WDCSXT_TwoFormOutTest01");
  LODOP.ADD_PRINT_HTML(10,20,350,380,document.forms.form1.innerHTML);
  LODOP.ADD_PRINT_HTML(10,400,400,280,document.forms.form2.innerHTML);
  LODOP.ADD_PRINT_TEXT(350,200,500,50,"以上演示两个网页Form被并排打印!!");
  LODOP.SET_PRINT_TEXT_STYLE(3,"黑体",11,1,1,1,1);
};

 

 





  


分享到:
评论
4 楼 July01 2017-09-27  

推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而且不会崩溃。参考http://webprint.stratoio.com/features
3 楼 zhangpurple 2012-01-06  
没签名 这是怎么回事
2 楼 usenrong 2011-08-30  
咋注册啊,在官网下载了,没提示要注册,免费的是不是有功能限制?还是有别的限制?
1 楼 ijse 2011-03-16  
嗯,也在用这个控件。已经更新到6.0了。。 还不错,

相关推荐

    打印Js生成的条形码和二维码(Lodop、C-Lodop组件)

    ### 打印Js生成的条形码和二维码(Lodop、C-Lodop组件) #### 插件安装与配置 Lodop是一款强大的Web打印控件,支持各种类型的打印需求,包括条形码和二维码的打印。为了实现这一功能,首先需要安装Lodop插件。 1....

    c-lodop.zip,C-Lodop云打印服务器官方版是一款十分出色的云打印软件

    C-Lodop云打印服务器是基于云计算技术的打印解决方案,主要针对企业和个人...总的来说,C-Lodop云打印服务器通过创新的云技术,为用户带来了灵活、高效、安全的打印体验,尤其适用于多分支结构的企业和远程办公场景。

    C-Lodop打印demo

    C-Lodop是一款专业的网页打印解决方案,主要用于解决网页上的复杂打印需求。这个“C-Lodop打印demo”压缩包提供了一系列示例,帮助用户了解并掌握C-Lodop的各种打印方法,以便根据自身的具体需求进行定制。下面我们...

    云打印C-Lodop技术手册

    《云打印C-Lodop技术手册》是一本详细介绍如何利用C-Lodop进行云端打印操作的技术文档。C-Lodop,全称为Cloud Lodop,是一款高效便捷的云打印解决方案,尤其适用于小票、箱贴、财务单等各类文档的远程打印需求。其...

    云打印C-Lodop技术手册3.008(20170901)

    第一章C-Lodop标准版 - 3 - 一、概述 - 3 - 二、安装 - 4 - C-Lodop标准版的(32位)安装文件: - 4 - 安装后的运行文件: - 4 - 安装后的窗口 - 5 - 安装后的欢迎页面 - 6 - 三、页面调用 - 7 - 加载云打印JS文件的...

    PrintSettings-C_winform-lodop打印.rar

    LODOP,全称为“Local Operation Data Process”,是一款强大的网页打印控件,能够实现各种复杂的打印功能,包括在线套打、批量打印等。在C/S架构的应用程序中,它为开发者提供了便利的API接口,使得在C#环境下进行...

    Lodop与java结合使用打印功能

    Lodop与Java的结合使用,为实现高效、灵活的打印解决方案提供了一种有效途径,特别是对于条码打印这种需求。以下是对这个主题的详细阐述: Lodop(乐度云打印服务)是一款专业的网页打印控件,它提供了丰富的API...

    install_lodop打印插件及卸载

    Lodop是一款广泛应用于网页打印的插件,由上海力登公司开发。它的全名是"LODOP Print Service",能够提供高效的Web打印解决方案,支持各种浏览器和操作系统,包括IE、Firefox、Chrome、Safari以及Windows和Mac系统。...

    web-lodop-master.zip

    《Web-Lodop打印控件详解》 在信息化时代的今天,打印功能已成为各种网页和应用程序不可或缺的一部分。Web-Lodop打印控件就是这样一个专门用于网页打印的解决方案,它旨在简化和优化网页打印流程,提供高效、灵活的...

    reportdesign基于lodop的vue简单打印设计工具

    项目"vue-lodop-design-master"包含了实现这个简单打印设计工具的所有源代码。开发者可以下载并研究这些文件,理解其工作原理,从而根据自己的需求进行定制。通常,这样的工具会包含以下几个关键部分: 1. **用户...

    活字格-Lodop打印.zip

    而Lodop则是国内知名的一款网页打印控件,全称为"LODOP Print Service",它提供了丰富的打印功能,可以在网页环境下实现高效、便捷的打印操作。 在压缩包中,我们看到三个主要文件: 1. **LodopPrint.dll**:这是...

    WEB打印控件Lodop完整实例

    **WEB打印控件Lodop**是一款在网页中实现高效打印功能的专业工具,它以其简单易用、功能全面和小巧高效的特点,在WEB打印领域占据重要地位。Lodop旨在简化网页打印的复杂性,为开发者提供一个简洁的接口,使得在网页...

    lodop打印和后台print打印两种模式

    1. **打印需求的复杂性**:如果打印任务需要自定义页眉页脚、水印、多联单、套打等功能,或者需要进行批量打印,那么LODOP可能更适合。反之,如果只是简单的文档打印,后台Print模式即可满足。 2. **环境兼容性**:...

    在UniApp中集成Lodop实现APP打印标签功能-库文件源代码

    本资源提供了Lodop实现在UniApp应用程序中打印标签的功能的库文件源代码。在本资源中,我们将介绍如何使用Lodop在UniApp中打印标签,包括如何定义标签样式、打印内容和打印方式等。此外,我们还将提供一些示例代码和...

    Web开发-Lodop打印控件实践

    此外,Lodop还能实现预览、打印队列管理、网络打印等功能,满足了各种复杂的打印需求。 在实际应用中,Lodop可以广泛应用于各种Web应用,如在线报表、电子票务、电商订单等。需要注意的是,由于Lodop是基于浏览器...

    vue实现lodop打印功能的示例

    3.vue部分实现  3.1将lodopDuncs.js文件放入工程中,具体操作可见:http://www.lodop.net/faq/pp35.html 3.2 编写代码 &lt;button class=print-btn v-on:click=btnClickPrint&gt; &lt;span&gt;{{ msg }}&lt;/span&gt; &...

    jsp打印控件demo基于Lodop无水印

    dishui.html dishui2.html 为票据嵌套打印demo,基于Lodop控件,做出了表格嵌套式的优化,做少量改动即可你本地程序结合,预览时,可见背景图片,不打印背景图片,注意:IE下测试无误,控件本身对IE以外的兼容不是很好,请...

    使用lodop进行html打印

    在实际应用中,开发者可以根据具体需求,灵活组合使用Lodop的这些接口,以实现各种定制化的打印功能。对于大型项目,还可以通过封装成自定义的打印组件,以提高代码的复用性和可维护性。 总的来说,Lodop是一个强大...

    LODOP打印控件及案例

    在计算机编程中,打印控件是用于控制和管理打印任务的组件,它允许程序员通过编程方式实现打印功能,而无需深入理解和操作底层的打印机驱动。LODOP打印控件就是这样一种工具,它提供了丰富的API函数和对象,使得...

    Lodop6.2和C-Lodop3.0技术手册和综合包

    《Lodop6.2和C-Lodop3.0技术手册与综合包》是针对网页打印服务解决方案的重要参考资料,涵盖了这两个版本的技术细节、使用方法和样例代码,旨在帮助开发者和用户深入理解和高效利用这一工具。以下是这些资源的主要...

Global site tag (gtag.js) - Google Analytics