我一直在寻找解决方案,到目前为止,我认为我的项目最好的是使用免费的Code 39字体。但是,我尝试打印一些样品,我的条形码扫描仪无法读取它们。
我研究了一点,偶然发现this。
我使用该库打印了Code 39条码,工作得很好,扫描仪能够读取它们。
问题是,库是用C#编写的,但不是用于ASP.net。我试过玩代码但是对我的基本知识来说太复杂了。该库代码中包含许多功能,并且有许多其他条形码类型,这使我很难分析。
是否有其他方法可以生成Code 39条形码?对于我的要求,codeproject中的库似乎有点复杂。
答案 0 :(得分:6)
条形码扫描仪要求您的代码39条形码带有前缀并带有星号后缀以便阅读。示例:*12345*
答案 1 :(得分:2)
首先,你说这个库不是为ASP.NET编写的,但是如果你能用它来生成图像,那么最简单的方法就是编写一个位于库的上方的HttpHandler
并返回生成的图像到浏览器。如果它是一个.NET库,我认为没有任何理由不应该起作用。
话虽如此,在生成Code39条形码时需要注意几点:
*
开头和结尾)?对于#1,我会检查以确保您从Code39字体打印的图像与库中的图像相同。如果是,那么图像质量可能就是问题。
就#2而言,我已成功使用免费的Code 39字体与GDI +生成条形码图像,然后我在HTML页面中显示以进行打印。我在尝试扫描打印的条形码图像时遇到的一个问题是图像不够清晰(条形码线的边缘模糊)并且无法被扫描仪读取。
我解决低质量图像的方法是生成一个大的Code39条形码图像(比如1000 x 400),然后在显示该条形码的<img>
标签上,我会将宽度设置为更多更小,比如说(200px或2.0英寸)。我肯定只设置宽度,高度将与图像成比例。这样可以有效地提高图像打印时的DPI,使我们能够生成易于扫描的条码图像(特别是在使用激光打印机打印时)。
修改强>
几乎忘记了,在生成这些条形码时使用的另一个好方法是始终在条形码图像下方打印条形码。如果条形码图像因任何原因无法扫描,那么这就是您的安全保障。如果查看任何标准UPC符号,您可以看到此示例。底部的数字正是条形码扫描时读取的数字。