2011-04-22 46 views
27

我想要一个数字字符串并生成一个可以被任何扫描仪读取的简单条形码。从iOS应用程序内生成条码

我已经可以使用相机并读取条形码,但现在我想生成条形码。

有谁知道一个sdk,可以让我做到这一点,资源或代码snipets?

谢谢

+0

检查这个答案约EAN13 http://stackoverflow.com/a/36875393/3472073 – 2016-04-26 20:47:21

回答

29

唯一的免费图书馆做,这是,这是cocoabarcodes叉子。如果你正在考虑商业图书馆,有一个叫iPhone Barcode Generator

更新检查的ZXing这种Objective-C的端口:https://github.com/TheLevelUp/ZXingObjC

+0

好吧,我得到了Cocoa-Touch-Barcodes,有没有人有如何使这项工作的示例代码。当我传递一个字母数字字符串时,我只想要生成一个标准条形码。然后我会将其显示给用户。 – Raymond 2011-04-27 21:22:54

+1

ZXing效果很好,但如果您感兴趣的是编码一种条形码类型(如类型39),则会产生大量膨胀。 – 2013-05-15 18:59:45

+0

我发现这个项目已经被放弃了,使它不适合在实际的iOS应用中使用。这就是为什么我开始自己的libray生成条形码。代码39实现起来非常简单,因为它没有任何花哨的checkdigit-code-page-alternating ... – Cocoanetics 2013-08-20 20:03:50

15

包括:在你的头文件#import "NKDBarcodeFramework.h",并把下面这些线在你的初始化函数。

barcode = [NKDExtendedCode39Barcode alloc]; 
barcode = [barcode initWithContent:@"1234567890123" printsCaption:0]; 

[barcode calculateWidth]; 
NSLog(@"%@",[barcode description]); 

theImage = [UIImage imageFromBarcode:barcode]; 
subview = [[UIImageView alloc]initWithFrame:TTScreenBounds()]; 
[subview setImage:theImage]; 
[self addSubview:subview]; 

self.frame = self.bounds; 

乐趣:-)

+0

您是否知道用于在ios5设备中生成二维条码的任何sdk – iDroid 2012-02-23 07:15:45

+0

此代码导致关于未声明的标识符的错误。 – Danny 2013-03-07 21:24:43

+0

我们如何获得这些课程,请提供完整的框架 – ravinder521986 2013-04-04 04:22:36

6

有这么多的条码类型

  • 一个d
  • 两个d
  • 三d

每个条码类型都有如此多的亚型,每个都有自己的目的。

我将解释如何生成一个d条形码类型代码39

在这里,我解释了如何使用自定义字体

步骤生成条形码之一:

1)下载自定义字体从here

2)从下载的zip中附加文件FRE3OF9X.ttf

3)通过添加应用在info.plist中和在项提供的密钥字体0FRE3OF9X.ttf作为值

4)尝试下面的代码片断

UIFont *fntCode39=[UIFont fontWithName:@"Free3of9Extended" size:30.0]; 

UILabel *lblBarCodeTest=[[UILabel alloc]initWithFrame:CGRectMake(0,100,768,30)]; 

[lblBarCodeTest setBackgroundColor:[UIColor lightGrayColor]]; 

[lblBarCodeTest setTextAlignment:NSTextAlignmentCenter]; 

[lblBarCodeTest setFont:fntCode39]; 

[lblBarCodeTest setText:@"*BarCode3Of9_AKA_Code39-ItsA1DBarcode*"]; 

[self.view addSubview:lblBarCodeTest]; 

结果:

Barcode

0

我已经创建了一个用于生成Code 39 Barcode的简单类,只需将一个.h和一个.m添加到您的项目中,并使用一行代码生成带有代码39编码数据的UIImage,像这样:

UIImage *code39Image = [Code39 code39ImageFromString:@"HELLO CODE39" Width:barcode_width Height:barcode_height]; 

这里的链接到该项目在GitHub上: [https://github.com/bclin087/Simple-Code39-generator-for-iOS.git]