发新话题
打印

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

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


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

从上世纪二十年代开始,条形码将近走过了一百年的历史,今天,在我们的日常生活中,处处可见条形码的身影。特别是近几年,随着二维码的兴起,突破了传统条码在单位面积上表示的信息量的限制,条码应用的正变得越来越广泛。

如何在基于web 的软件系统中,实现条码显示与打印呢?有哪些方案?各方案各有什么优缺点呢?
一、务端生成方式:
服务端生成方式,即是利用服务端的编程语言,将商品id等信息,动态生成表示条形码的临时图片文件,最后在浏览器中显示或打印。也就是说,条形码就是一图片文件。
目前,估计有一半以上的web应用,都采用这种方式,服务端生成方式的优点是:
a: 免费。各种编程语言,大多有免费、开源的条码生成库。
b: 免安装。条码即图片,而在浏览器中,显示和打印图片,是不需要安装任何附加插件的。
缺点是:
a: 生成难度大。需要掌握专门的编程语言知识,如javaphpc#等,一般的网页设计人员,很难做到这一点。
b: 难以打印高分辨率条码。普通显示器的分辨率为 96dpi,即一个像素为 1/96inch宽度,而一般激光打印机的分辨率为600dpi,也就是说,显示器上的一个像素,会被打印成约6个打印机像素(600/96)的宽度。打印机本应该可以表示更多细节,但现在只能以6个像素点的精度来打印条码了。

二、OPEN API生成方式:
有些开放API平台,会提供条形码生成的功能,比如 Google Char API 提供 QR Code条形码生成功能,这些条形码生成的格式,本质上仍然是一个图片文件(也有通过纯html元素,如div堆放出来的),只不过,作为开发人员,不需要自己用编程语言来生成这个图片文件了,而只需要了解调用的参数格式,就行了,如下所示:
<img src=’https://chart.googleapis.com/chart?chs=150x150&;cht=qr&chl=Hello%20world&choe=UTF-8’></img>

利用open api生成条码的优点是:
  • 不需要编程,简单,免费。
  • 不需要安装浏览器插件,不需要配置服务器。
缺点是:
  • 使用open api生成条码,必须保证你的计算机处于连网状态。对于与外网隔离的计算机,将因访问不到open api服务器,而无法使用该功能。
  • 难以打印高分辨率条码。原因同上。

三、控件生成方式:
控件生成方式就是在浏览器中,安装条形码插件,用来显示和打印条形码。当你需要显示一个条形码时,你只需要在网页中,声明成一个object 对象,并且设置相应属性即可。下面是使用杰表.条形码控件来设置一个条形码的示例:
<OBJECT _code='1234567890' _codestyle='type:qr;' style='width:130;height:80;'
CLASSID='CLSID:E5A01FF5-FC6E-42F3-AF48-DEA5777DED62'></OBJECT>
利用控件生成条码的优点是:
  • 不需要编程。
  • 可以打印高分辨率条码。打印是按矢量进行的,任何比例缩放都不会丢失信息,因此可提供扫描器的识别率。
缺点是:
  • 没有免费的条码控件可用,你必须花钱。
  • 需要安装浏览器插件。

提供第一种基于服务器生成的解决方案的,主要有两类厂商,第一类是报表工具厂商,他们的报表产品中本身有条形码功能。第二类是小的软件厂商或个人,以dll加特定语言封装的形式,提供基于服务器端生成的解决方案。

提供第三种基于控件解决方案的,比较有代表性的产品是杰表.条码控件,这款控件与杰表的另一款产品,杰表.打印控件结合在一起,可以实现基于web的控件显示,打印功能,而且控件做得精巧,大概只有170k大小。






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

TOP

发新话题