C#中利用iTextSharp开发二维码防伪标签(1)
一个亲戚朋友是做防伪码印刷的,之前的电话防伪、短信防伪都用Delphi给他设计,使用也挺不错,后来又加了一个基于asp的网页版防伪查询。由于业务需求,今年年初朋友又提成希望能够完成二维码防伪标签的编码和设计。
刚开始对于二维码不是太了解,百度后才发现,其实二维码只是一个将字符进行编码而与,支持网址等内容。之前已经有了网页版的查询,那么只要将网页的查询地址加防伪码加入二维码编码即可。道理很简单,关键是通过什么形式生成,这个倒是让我思考再三。
之前一直用Delphi开发,最近时不时的看了一些C#文章,学了一些的皮毛,这次就想用C#来进行开发。
第一个想到的是,直接用form形式进行打印。但是感觉这样的形式自己也不太敢认同,防伪码,每一次生成,都是几十万,甚至上百万的,生成在form中,不知道会是什么结果,所以这种方式暂时不考虑。
第二个想到的是word格式。大家都知道,word是对文字表格等处理非常方便的,在C#下也是很好操作。我用表格进行定位,用ThoughtWorks.QRCode 生成二维码嵌入到表格中,打印效果也不错。但是有一个致命的弱点:当防伪码达到千级别以上时,系统生成的速度实在不敢恭维。大致测试一下,1万个编码,生成的时间近1个多小时,那要是上百万时,这个时间就不行了。(个人认为还是自己的能力不足,没有找到这个问题的所在)。基于上面的原因,只好将该方法放弃。
到这个时候,自己也是没有信心去完成这个开发了。于是想到网上看看,别人的开发是如何的,生成的格式又是什么。经过一番的查找,发现许多的防伪码编码软件可以支持直接打印,并且生成的文件格式以PDF为主。PDF倒是一个不错的选择。于是,我也准备研究在C#下生成PDF格式的防伪标签设计。
C#中PDF操作最好的是iTextSharp,下载了一个最新版本5.5.9(http://itextpdf.com/)。
先写到这里,下期继续。
C#中利用iTextSharp开发二维码防伪标签(1)的更多相关文章
- 【转】Android平台下利用zxing实现二维码开发
http://www.cnblogs.com/dolphin0520/p/3355728.html 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描 ...
- Android平台下利用zxing实现二维码开发
Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...
- (转载)Android平台下利用zxing实现二维码开发
Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...
- Android开发--二维码开发应用(转载!)
android项目开发 二维码扫描 基于android平台的二维码扫描项目,可以查看结果并且链接网址 工具/原料 zxing eclipse 方法/步骤 首先需要用到google提供的zxin ...
- iOS开发-二维码扫描和应用跳转
iOS开发-二维码扫描和应用跳转 序言 前面我们已经调到过怎么制作二维码,在我们能够生成二维码之后,如何对二维码进行扫描呢? 在iOS7之前,大部分应用中使用的二维码扫描是第三方的扫描框架,例如Z ...
- iOS开发 - 二维码的生成与读取
二维码的生成 从iOS7開始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk眼下不支持64位处理器 生成二维码的步骤: 导入CoreImage框架 通过滤镜CIFilter生成二维码 二维 ...
- 利用JAVA生成二维码
本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...
- JAVA中生成、解析二维码图片的方法
JAVA中生成.解析二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能,并有解析二维码的方法. 一.下载zxing的架包,并导 ...
- 在iOS中使用ZBar扫描二维码
最近在做的项目中需要用到二维码扫描功能,之前在Android中使用过ZXing识别二维码,ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,并分别提供了iOS和Andro ...
随机推荐
- Python的免费在线学习课程
网上资源不是本人的,所以,只是转发.其它的不负责 http://www.imooc.com/learn/177
- next_permutation,POJ(1256)
题目链接:http://poj.org/problem?id=1256 解题报告: 1.sort函数是按照ASC11码排序,而这里是按照 'A'<'a'<'B'<'b'<... ...
- DEM、DTM和DSM的区别
一.DTM(Digital Terrain Model) 数字地面模型是利用一个任意坐标系中大量选择的已知x.y.z的坐标点对连续地面的一个简单的统计表示,或者说,DTM就是地形表面形态属性信息的数字 ...
- MVC学习七:Razor布局之加载分部视图【PartialView】
Partial View 顾名思义就是Html代码片段,应用于此HTML代码多次被页面加载时使用.(类似于WebForm程序中的用户控件) 注:PartialView和正常的View页面在访问时没有任 ...
- 学习scala trait
// 类接口,但是可以实现方法 // 作用 多重继承 trait traitA{ val tnum: Int def log(msg: String): Unit ={ println(" ...
- Code First 一
Code-First和我们的数据库优先方式是相反的,数据库优先是通过数据库映射出相应的类和上下文,Code-First测试通过创建的类和上下文得到相应的数据库. Code-First主要用于领域驱动设 ...
- c语言描述的数据结构的注意细节
:顺序表使用基址来表示和存储 int *p; p=(int *)malloc(initsize*sizeof(int)); L—>p[x]=xx; :链表 在于除了更改数据还要更改前后与之关联的 ...
- android SQLITE的基本使用总结(八)
sharedPreferences只适合存储比较简单的数据和键值对,支持不同的数据类型 文件存储连键值对都没有,不会进行任何格式化处理,存储简单的二进制或者文本数据 sqlite则能处理一些数据量大, ...
- 简易Dubbo的搭建过程
dubbo是一个高性能的,基于java的,开源RPC框架,主要功能是让构建分布式计算更加容易. (分布式:多台计算机实现不同功能,形成一个整体对外服务) (集群式:多台计算机实现相同功能,分担计算压力 ...
- CF294C Shaass and Lights(排列组合)
题目描述 There are n n n lights aligned in a row. These lights are numbered 1 1 1 to n n n from left to ...