彩票走势图

条形码控件TBarCode SDK系列教程十(TBarCode .NET篇)

翻译|使用教程|编辑:黄竹雯|2019-01-07 10:15:11.000|阅读 310 次

概述:本系列教程会解答您在使用条形码生成控件TBarCode SDK产品时遇到的绝大部分疑惑。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

TBarCode SDK是一款可以在任意应用程序和打印机下生成和打印所有条码的条码软件组件。TBarCode SDK对于Microsoft® Office 用户以及软件开发者提供条码打印。使用此款条码软件组件你可以生成和打印所有用于工业和商业条码符号。

TBarCode SDK最新版下载

一、如何以4位/像素格式保存条形码?

首先以默认的Pixel格式生成条形码(Format32bppArgb):

System.Drawing.Size optimalSize = myBarcode.CalculateOptimalBitmapSize(null, 2, 2);
myBarcode.BoundingRectangle = new Rectangle(0, 0, optimalSize.Width, optimalSize.Height);
Bitmap barcodeImage = myBarcode.DrawBitmap();

然后将其转换为你需要的Pixel格式的位图:

Bitmap converted = barcodeImage.Clone (new Rectangle(0, 0, barcodeImage.Width, barcodeImage.Height), PixelFormat.Format4bppIndexed);
// MessageBox.Show(converted.PixelFormat.ToString());

二、如何编码二进制数据(二维码)

即使你对二进制数据使用转义序列,编码器也将使用Codepage Conversion(代码页转换)(例如:\x88根据需要在Data Matrix中输出不同的值)。

解决方案:

  • 关闭代码页转换(使用编码模式LowByte)
  • 强制二进制编码模式(如果可用)(参见PDF417编码模式,Data Matrix EnforceBinaryEncoding)

三、部署Web应用程序后出现错误的图像格式

在部署ASP.NET项目到你的IIS Web服务器之后,会出现System.BadImageFormatException(尝试加载格式不正确的程序)。在开发过程中没有这样的问题。

原因:Visual Studio是一个32位应用程序,开发服务器通常以32位进程运行。因此,32位版本的TECIT.TBarCode.DLL已嵌入到你的项目中,在./bin文件夹中。但是你的IIS以64位进程运行,所以会加载错误的格式。

方法1:部署64位版本的程序集

使用C:\Program Files\Common Files\TEC-IT\TBarCode\[version]文件夹中的版本(这是x64版本)。使用该版本交换目标系统上的../bin/TECIT.TBarCode.dll文件。

方法2:让GAC来完成这个工作

从bin文件夹中完全删除TECIT.TBarCode.dll。在这种情况下,将加载来自全局程序集缓存(GAC)的TECIT.TBarCode.dll。公共语言运行库自动加载正确的版本,因为GAC同时包含32和64位版本。

前置条件:必须在目标服务器上执行TBarCode SDK的设置,安装程序会为你安装GAC中的DLL。

如果你没有立即看到效果,请重新启动应用程序池或在命令行上执行“iisreset”(注意,这会重新启动ALL,会话将丢失)。


四、如何创建可读Code 39位图?

以下示例代码可在ASP.NET中生成Code 39位图。

//Code 39
Barcode barcode = new Barcode();
barcode.Data = "10030000007611107871900002199908";
barcode.BarcodeType = BarcodeType.Code39;

// with dpi = 100 we get 1 Pixel = 0.254 mms
barcode.Dpi = 100;

// bar code size should adapt to bounding rectangle
barcode.SizeMode = SizeMode.FitToBoundingRectangle;

// set default size of symbol (define the default height)
barcode.BoundingRectangle = new Rectangle(0, 0, 254, 100 /* = 1 inch */);
                
// now calculate optimal bitmap size for the bar code
Size optimalSize = barcode.CalculateOptimalBitmapSize(null, 1, 1);

// update rectangle to optimized size
barcode.BoundingRectangle  = new Rectangle(0, 0, optimalSize.Width, optimalSize.Height);
barcode.Draw(filename, ImageType.Jpg);

标签:条形码条码生成条码打印工业物联网

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP