杰表技术论坛 's Archiver

jennifer 发表于 2011-7-18 18:14

基于web的条形码显示及打印解决方案

[font=Times New Roman][/font]
[font=宋体]基于[/font][font=Times New Roman]web[/font][font=宋体]的条形码显示及打印解决方案[/font]
[font=Times New Roman][/font]
[font=宋体]从上世纪二十年代开始,条形码将近走过了一百年的历史,今天,在我们的日常生活中,处处可见条形码的身影。特别是近几年,随着二维码的兴起,突破了传统条码在单位面积上表示的信息量的限制,条码应用的正变得越来越广泛。[/font]
[font=Times New Roman][/font][attach]435[/attach]
[font=宋体]如何在基于[/font][font=Times New Roman]web [/font][font=宋体]的软件系统中,实现条码显示与打印呢?有哪些方案?各方案各有什么优缺点呢?[/font]
[b][font=Times New Roman][/font][/b][b][font=宋体]一、[font=宋体]服[/font]务端生成方式:[/font][/b]
[font=宋体]服务端生成方式,即是利用服务端的编程语言,将商品[/font][font=Times New Roman]id[/font][font=宋体]等信息,动态生成表示条形码的临时图片文件,最后在浏览器中显示或打印。也就是说,条形码就是一图片文件。[/font]
[font=宋体]目前,估计有一半以上的[/font][font=Times New Roman]web[/font][font=宋体]应用,都采用这种方式,服务端生成方式的优点是:[/font]
[font=Times New Roman]a: [/font][font=宋体]免费。各种编程语言,大多有免费、开源的条码生成库。[/font]
[font=Times New Roman]b: [/font][font=宋体]免安装。条码即图片,而在浏览器中,显示和打印图片,是不需要安装任何附加插件的。[/font]
[font=宋体]缺点是:[/font]
[font=Times New Roman]a: [/font][font=宋体]生成难度大。需要掌握专门的编程语言知识,如[/font][font=Times New Roman]java[/font][font=宋体],[/font][font=Times New Roman]php[/font][font=宋体],[/font][font=Times New Roman]c#[/font][font=宋体]等,一般的网页设计人员,很难做到这一点。[/font]
[font=Times New Roman]b: [/font][font=宋体]难以打印高分辨率条码。普通显示器的分辨率为[/font][font=Times New Roman] 96dpi[/font][font=宋体],即一个像素为[/font][font=Times New Roman] 1/96inch[/font][font=宋体]宽度,而一般激光打印机的分辨率为[/font][font=Times New Roman]600dpi[/font][font=宋体],也就是说,显示器上的一个像素,会被打印成约[/font][font=Times New Roman]6[/font][font=宋体]个打印机像素[/font][font=Times New Roman](600/96)[/font][font=宋体]的宽度。打印机本应该可以表示更多细节,但现在只能以[/font][font=Times New Roman]6[/font][font=宋体]个像素点的精度来打印条码了。[/font]
[font=Times New Roman][/font]
[font=Times New Roman][b][font=宋体]二、[/font][/b][b]OPEN API[/b][/font][b][font=宋体]生成方式:[/font][/b]
[font=宋体]有些开放[/font][font=Times New Roman]API[/font][font=宋体]平台,会提供条形码生成的功能,比如[/font][font=Times New Roman] Google Char API [/font][font=宋体]提供[/font][font=Times New Roman] QR Code[/font][font=宋体]条形码生成功能,这些条形码生成的格式,本质上仍然是一个图片文件(也有通过纯[/font][font=Times New Roman]html[/font][font=宋体]元素,如[/font][font=Times New Roman]div[/font][font=宋体]堆放出来的),只不过,作为开发人员,不需要自己用编程语言来生成这个图片文件了,而只需要了解调用的参数格式,就行了,如下所示:[/font]
[font=Times New Roman]<img src=’[url=https://chart.googleapis.com/chart?chs=150x150&]https://chart.googleapis.com/chart?chs=150x150&[/url];cht=qr&chl=Hello%20world&choe=UTF-8’></img>[/font]
[font=Times New Roman][/font]
[font=宋体]利用[/font][font=Times New Roman]open api[/font][font=宋体]生成条码的优点是:[/font]
[list=a][*][font=宋体]不需要编程,简单,免费。[/font][*][font=宋体]不需要安装浏览器插件,不需要配置服务器。[/font][/list][font=宋体]缺点是:[/font]
[list=a][*][font=宋体]使用[/font][font=Times New Roman]open api[/font][font=宋体]生成条码,必须保证你的计算机处于连网状态。对于与外网隔离的计算机,将因访问不到[/font][font=Times New Roman]open api[/font][font=宋体]服务器,而无法使用该功能。[/font][*][font=宋体]难以打印高分辨率条码。原因同上。[/font][/list]
[b]三、控件生成方式:[/b]
[font=宋体]控件生成方式就是在浏览器中,安装条形码插件,用来显示和打印条形码。当你需要显示一个条形码时,你只需要在网页中,声明成一个[/font][font=Times New Roman]object [/font][font=宋体]对象,并且设置相应属性即可。下面是使用杰表[/font][font=Times New Roman].[/font][font=宋体]条形码控件来设置一个条形码的示例:[/font]
[font=Times New Roman]<OBJECT _code='1234567890' _codestyle='type:qr;' style='width:130;height:80;'[/font]
[font=Times New Roman]CLASSID='CLSID:E5A01FF5-FC6E-42F3-AF48-DEA5777DED62'></OBJECT>[/font]
[font=宋体]利用控件生成条码的优点是:[/font]
[list=a][*][font=宋体]不需要编程。[/font][*][font=宋体]可以打印高分辨率条码。打印是按矢量进行的,任何比例缩放都不会丢失信息,因此可提供扫描器的识别率。[/font][/list][font=宋体]缺点是:[/font]
[list=a][*][font=宋体]没有免费的条码控件可用,你必须花钱。[/font][*][font=宋体]需要安装浏览器插件。[/font][/list][font=宋体][/font]
[font=宋体]提供第一[/font][font=宋体]种基于服务器生成的解决方案的,主要有两类厂商,第一类是报表工具厂商,他们的报表产品中本身有条形码功能。第二类是小的软件厂商或个人,以[/font][font=Times New Roman]dll[/font][font=宋体]加特定语言封装的形式,提供基于服务器端生成的解决方案。[/font]
[font=宋体][/font]
[font=宋体]提供第三[/font][font=宋体]种基于控件解决方案的,比较有代表性的产品是杰表[/font][font=Times New Roman].[/font][font=宋体]条码控件,这款控件与杰表的另一款产品,杰表[/font][font=Times New Roman].[/font][font=宋体]打印控件结合在一起,可以实现基于[/font][font=Times New Roman]web[/font][font=宋体]的控件显示,打印功能,而且控件做得精巧,大概只有[/font][font=Times New Roman]170k[/font][font=宋体]大小。[/font]
[font=Times New Roman][/font]
[font=Times New Roman][/font]
[font=Times New Roman][/font]

[font=Times New Roman][/font]

[[i] 本帖最后由 jennifer 于 2011-7-18 18:21 编辑 [/i]]

kuhkczqp 发表于 2014-4-4 19:13

说得不错。必须支持一下。

[hr]c500w.com

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.