开发者社区> 芝麻软件> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring Boot 打包插件,真是太有用了!
栈长在之前的文章分享过关于 Spring Boot 打包运行的两篇文章:
54 0
RHEL7、CentOS7的服务管理-系统管理(4)
从RHEL7的官方文档中我们,可以看出在未来service和chkconfig可能会退出历史舞台,现在的发行版中还保留这些命令最主的原因是考虑了兼容性,在使用中我们应该逐步放弃这些命令。
1156 0
《CUDA高性能并行计算》----0.7 本书代码
本书应用程序的代码可以通过www.cudaforengineers.com获取。虽然书中采用了一些代码片断和“骨架”代码(skeleton code),但标记为“代码清单”的代码(包含行号)是真实可运行代码的一部分。
1827 0
iOS - Block 代码块
1、Block Block 是一段预先准备好的代码,可以在需要的时候执行,可以当作参数传递。Block 可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。Block 是 C 语言的,类似于一个匿名函数,它和传统的函数指针很类似,但是 Block 是 inline(内联函数)的,并且默认情况下它对局部变量是只读的。
747 0
打印 SpringMVC中所有的接口URL
采用junit test方式 1.配置  simple-test.xml      2.Junit Test Case package com.
1041 0
AngularJS 实践:应用开发 :: ENA13 价格条码-(三)
上一节我们完成了开发工作流工具和环境准备,这一节我们将进行渐进式应用编程。熟悉 AngularJS 开发的同学请跳过。 上一节参考: AngularJS 实践:应用开发 :: ENA13 价格条码-(二) 添加 web 应用所依赖的 JavaScript, Stylesheet 引用 编辑 i
2266 0
+关注
芝麻软件
编程语言,框架相关专家
579
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载