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 ...
随机推荐
- 团队合作学习scrum
查找资料学习scrum心得: 什么是scrum : scrum是一种轻量级软件开发方法,即一种做事的方法.scrum原本是指橄榄球运动的一个专业术语,原意为团队通力合作,在场地内传球.这个过程需要认真 ...
- 03_P52 课后作业
1. 软件开发的早期阶段为什么进行可行性研究?应该从哪些方面研究系统的可行性? 1.进行可行性研究是为了该软件项目是否值得开发?是否具有经济效益?是否违反法律道德?是否技术可以实现?是否风险性高? 2 ...
- Thread control block & thread
https://en.wikipedia.org/wiki/Thread_control_block Thread Control Block (TCB) is a data structure in ...
- Manacher算法模板
题目描述 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 输入输出格式 输入格式: 一行小写英文字符a,b,c...y,z组成的字符串S 输出格 ...
- fastJson简单实用
public class FastJsonText { @Test public void text(){ User user1 = new User(); user1.setName("健 ...
- json 二进制传输方案
json 传输二进制数组方案 json 是一种很简洁的协议,但可惜的是,它只能传递基本的数型(int,long,string等),但不能传递byte类型.如果想要传输图片等二进制文件的话,是没办法直接 ...
- 标准对象——RegExp
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样麻烦且代码难以复 ...
- 掘金上发现的有趣web api
本篇文章主要选取了几个有趣且有用的webapi进行介绍,分别介绍其用法.用处以及浏览器支持度 page lifecycle onlineState(网络状态) device orientation(陀 ...
- css3中有关transform的问题
Transform属性应用于元素的2D或3D转换.这个属性允许你将元素旋转,缩放,移动,倾斜等.
- Angularjs基础(七)
AngularJS表单 AngularJS表单时输入控件的集合HTML控件 一下HTML input 元素被称为HTML 控件: input 元素 select元素 button元素 textarea ...