RDLC系列之七 条码打印

简介: 参考: C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法 http://www.cnblogs.com/vice/p/4105898.html   我做的思路是:不使用数据库存储image的byte[]数据,而是首先将所有需要的条码数据保存到一个数据库表中,然后在需要将条码显示到RDLC报表中时,取得表中的条码数据,然后创建数据集(用于存储报表中需要用到的所有数据),再将每条条码数据用barcodelib.dll生成条码对象,返回image对象,再使用下面方法将返回的image对象转换为byte[]数组存入新建的数据集中。

参考:

C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法

http://www.cnblogs.com/vice/p/4105898.html

 

我做的思路是:不使用数据库存储image的byte[]数据,而是首先将所有需要的条码数据保存到一个数据库表中,然后在需要将条码显示到RDLC报表中时,取得表中的条码数据,然后创建数据集(用于存储报表中需要用到的所有数据),再将每条条码数据用barcodelib.dll生成条码对象,返回image对象,再使用下面方法将返回的image对象转换为byte[]数组存入新建的数据集中。

 

其他代码就不贴了,因为好多东西都没封装都是码上去的,太长了。

复制代码
1        //image对象转byte数组
2         public static byte[] ImageToBytes(Image img)
3         {
4             ImageConverter imgconv = new ImageConverter();
5             byte[] b = (byte[])imgconv.ConvertTo(img, typeof(byte[]));
6             return b;
7         }
复制代码

 

然后在RDLC中创建模板,添加数据源为刚刚创建的数据集,插入图片对象,图像源选择数据库,”使用此字段“ 输入 System.Convert.ToBase64String(Fields!存储image对象的byte[]列名.Value)

 

 

方法二:直接在后台字段中先转换为Base64字符串

System.Convert.ToBase64String(ImageToBytes(image));

 

barcodelib.dll的调用方法封装

 

注意:

建议image流直接获取条码生成的图片流,即从内存读取。

此外,RDLC图片属性的大小,要设置为原始大小(第一个选项),否则部分扫描枪不能扫描,因为条码图片被自动拉升而变形。

 

如果使用图片文件,可能导致不清晰,如下

 Image img = Image.FromFile(path);

 

相关文章
|
7月前
Delphi调用BarTender打印条码标签简明开发教程
Delphi调用BarTender打印条码标签简明开发教程
92 1
|
开发框架 BI C#
C#之二十三 打印和水晶报表
C#之二十三 打印和水晶报表
113 0
逆天的Excel快速填充,简直就是处理报表的神器!(上)
逆天的Excel快速填充,简直就是处理报表的神器!(上)
逆天的Excel快速填充,简直就是处理报表的神器!(上)
逆天的Excel快速填充,简直就是处理报表的神器!(下)
逆天的Excel快速填充,简直就是处理报表的神器!(下)
逆天的Excel快速填充,简直就是处理报表的神器!(下)
逆天的Excel快速填充,简直就是处理报表的神器!
逆天的Excel快速填充,简直就是处理报表的神器!
逆天的Excel快速填充,简直就是处理报表的神器!
|
数据库
如何用条码标签打印软件批量制作服装吊牌
服装吊牌用于向消费者传递服装的一些信息,比如:品牌,价格,尺码,洗涤说明等信息,是服装的重要标识之一。每一件服装的吊牌内容都是不同的,那么如何一次性批量制作和打印出一批服装的吊牌呢?今天就教大家如何使用条码标签打印软件批量制作服装吊牌。
2314 0
|
SQL C#
WPF编游戏系列 之三 物品清单
原文:WPF编游戏系列 之三 物品清单        本篇将介绍如何通过C#自动生成游戏界面,主要演示点击“My Shop”后如何显示所有物品清单。其中数据源来自于Access 2007,当然肯定会用到System.Data.OleDb。
882 0
|
C# 数据库
WPF编游戏系列 之九 物品清单再优化
原文:WPF编游戏系列 之九 物品清单再优化        在“第三篇”和“第四篇”中通过用户控件和数据绑定功能对物品清单进行一些优化减少了部分C#代码,但感觉使用Grid设置物品显示位置实在是太繁琐,而且还要为n个物品重复创建新UserControl很浪费资源,所以决定使用ListBox、UserControl和DataTemplate来对物品清单再优化下,让XAML多干些活而不是总用C#调用UI,这样日后维护起来也方便。
664 0
|
BI 开发框架 自然语言处理