利用ASP实现三个强大功能之二
程序员文章站
2022-09-14 09:13:57
2、在web上动态建立条形码 这篇文章讨论的是如何根据的字段在web上动态地建立条形码的问题,这在如下的情况下非常有用:用户输入信息到中,然后显示一个总结页面“这就是你所输入的”...
2、在web上动态建立条形码
这篇文章讨论的是如何根据的字段在web上动态地建立条形码的问题,这在如下的情况下非常有用:用户输入信
息到中,然后显示一个总结页面“这就是你所输入的”,这个页面可以被打印,并在日后可以用条形码进行跟踪。
实现这个功能的关键在于如何将数值比如“abc”翻译为条形码。这里我们使用“代码39”,关于它的详细情况,请参
阅有关定义。我想将产生的条形码显示在web页面上,这样用户就能打印包含条形码的这个页面,然后,再在图形系统的处
理中使用它。许多用户都在系统中安装了“代码39”字体,所以我就能够在页面中改变它,但是我不想依赖它们。我想在
页面中建立,并且独立于和计算机。
我的解决方法是:为code39中每一个支持的字符创建gif图形文件。我使用microsoft paint软件创建code39字体大小
的文本框,然后为每一个字符建立一个图形。接着,使用microsoft image composer将它们转换为gif格式。最后,使用扫
描软件检查这些字符,看看是否能正确地解释。下面,你将看到a、b、c以及星号(*)的条形码:
code for a
code for b
code for c
code for asterisk
然后,为了在asp页面中描绘数据库中数值的条形码,仅仅简单地遍历barcodetext变量字符串中的每一个字符,然后
建立< img src=“...” >标记以替换字符为相应条形码图形文件。这非常简单,不需要在客户端安装字体文件。相关代码
如下:
code 39 barcodes require an asterisk as the start and stop characters
response.write "< img src="/edu/uploadpic/2007-12/2007129132853945.gif""" width=""30"" height=""36"">"
for x = 1 to len(trim(rst("barcodetext")))
response.write "< img src=""" & mid(rst("barcodetext"),x,1) & _
".gif"" width=""30"" height=""36"">"
next
code 39 barcodes require an asterisk as the start and stop characters
response.write "< img src="/edu/uploadpic/2007-12/2007129132853945.gif""" width=""30"" height=""36"">"
如果在记录集当前记录中barcodetext的数值是“abc”,那么执行上述代码后,html的结果是:
< img src="/edu/uploadpic/2007-12/2007129132853532.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132854234.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132854307.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132854757.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132853532.gif"" width="30" height="36">
然后,将显示如下图形:
现在,将该页面打印后,就可以被条形码扫描器所跟踪了。
有2点关于条形码的注意事项:不是所有的条形码都能支持所有的字符集。code39是很好而且很简单的一种。它具备可
变长度,支持所有的大写字符、数字、星号以及7个特殊字符。对于每个字符,它使用风格一致的5线(2宽3窄)4空(指间
隙,1宽3窄)形式。另外的字符集支持更多的,使用不同的解码方案。确认对每个字符都建立了gif图形文件,同时,你可
以修改图形的宽度和高度属性,从而在页面上显示稍大的或者稍小的条形码。
另外,如果遇到特殊的字符,上面的遍历循环代码将不会工作,因为,不能将gif文件命名为+.gif。这时,就要编写
一个接受字符ascii数值的函数,然后使用case语句返回等价于文件名的字符串。如果数据库字段的数值是整型或者仅仅包
这篇文章讨论的是如何根据的字段在web上动态地建立条形码的问题,这在如下的情况下非常有用:用户输入信
息到中,然后显示一个总结页面“这就是你所输入的”,这个页面可以被打印,并在日后可以用条形码进行跟踪。
实现这个功能的关键在于如何将数值比如“abc”翻译为条形码。这里我们使用“代码39”,关于它的详细情况,请参
阅有关定义。我想将产生的条形码显示在web页面上,这样用户就能打印包含条形码的这个页面,然后,再在图形系统的处
理中使用它。许多用户都在系统中安装了“代码39”字体,所以我就能够在页面中改变它,但是我不想依赖它们。我想在
页面中建立,并且独立于和计算机。
我的解决方法是:为code39中每一个支持的字符创建gif图形文件。我使用microsoft paint软件创建code39字体大小
的文本框,然后为每一个字符建立一个图形。接着,使用microsoft image composer将它们转换为gif格式。最后,使用扫
描软件检查这些字符,看看是否能正确地解释。下面,你将看到a、b、c以及星号(*)的条形码:
code for a
code for b
code for c
code for asterisk
然后,为了在asp页面中描绘数据库中数值的条形码,仅仅简单地遍历barcodetext变量字符串中的每一个字符,然后
建立< img src=“...” >标记以替换字符为相应条形码图形文件。这非常简单,不需要在客户端安装字体文件。相关代码
如下:
code 39 barcodes require an asterisk as the start and stop characters
response.write "< img src="/edu/uploadpic/2007-12/2007129132853945.gif""" width=""30"" height=""36"">"
for x = 1 to len(trim(rst("barcodetext")))
response.write "< img src=""" & mid(rst("barcodetext"),x,1) & _
".gif"" width=""30"" height=""36"">"
next
code 39 barcodes require an asterisk as the start and stop characters
response.write "< img src="/edu/uploadpic/2007-12/2007129132853945.gif""" width=""30"" height=""36"">"
如果在记录集当前记录中barcodetext的数值是“abc”,那么执行上述代码后,html的结果是:
< img src="/edu/uploadpic/2007-12/2007129132853532.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132854234.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132854307.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132854757.gif"" width="30" height="36">
< img src="/edu/uploadpic/2007-12/2007129132853532.gif"" width="30" height="36">
然后,将显示如下图形:
现在,将该页面打印后,就可以被条形码扫描器所跟踪了。
有2点关于条形码的注意事项:不是所有的条形码都能支持所有的字符集。code39是很好而且很简单的一种。它具备可
变长度,支持所有的大写字符、数字、星号以及7个特殊字符。对于每个字符,它使用风格一致的5线(2宽3窄)4空(指间
隙,1宽3窄)形式。另外的字符集支持更多的,使用不同的解码方案。确认对每个字符都建立了gif图形文件,同时,你可
以修改图形的宽度和高度属性,从而在页面上显示稍大的或者稍小的条形码。
另外,如果遇到特殊的字符,上面的遍历循环代码将不会工作,因为,不能将gif文件命名为+.gif。这时,就要编写
一个接受字符ascii数值的函数,然后使用case语句返回等价于文件名的字符串。如果数据库字段的数值是整型或者仅仅包