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);

 

相关文章
|
6月前
|
存储 JSON 搜索推荐
如何在 SAP ABAP ALV 报表里以交通灯的方式显示某一列的值试读版
如何在 SAP ABAP ALV 报表里以交通灯的方式显示某一列的值试读版
68 0
|
6月前
|
BI 数据库
给 ABAP ALV 报表的数据行增添颜色效果试读版
给 ABAP ALV 报表的数据行增添颜色效果试读版
43 0
|
7月前
|
存储 JSON 搜索推荐
ABAP 报表中如何给报表的输入参数增添 F4 Value Help 试读版
ABAP 报表中如何给报表的输入参数增添 F4 Value Help 试读版
54 0
|
7月前
|
开发框架 BI C#
C#之二十三 打印和水晶报表
C#之二十三 打印和水晶报表
61 0
|
7月前
|
缓存 BI
SAP ABAP 报表屏幕输入字段如何实现联动效果试读版
SAP ABAP 报表屏幕输入字段如何实现联动效果试读版
33 0
|
C# Java Windows
xps文档打印后winform界面文字丢失
原文:xps文档打印后winform界面文字丢失        最近做的xps文档打印功能,绝对的一波三折,一开始开发的时候,始终用的是xps writer 虚拟打印机,测试的时候也是,一直没有发现问题,但是真正到用户使用的时候,接上正式打印机,打印时候没有问题,一旦打印完成,再次进入打印winfrom的界面就花掉了,如下图;       结果更换了多台电脑,win7、winxp都不行,然后就更换打印机,换了很多打印机也不行,自己写了一个最小的打印的程序,发现打印以后还出现同样的问题。
1197 0
|
XML Android开发 数据格式
Android项目实战(二十九):酒店预定日期选择
原文:Android项目实战(二十九):酒店预定日期选择 先看需求效果图:                   几个需求点: 1、显示当月以及下个月的日历 (可自行拓展更多月份) 2、首次点击选择“开始日期”,再次点击选择"结束日期"   (1)、如果“开始日期” “结束日期” 相同 ...
812 0