我想取一个数字字符串并生成一个可以被任何扫描仪读取的简单条形码。
我已经可以使用相机并读取条形码,但现在我想生成一个条形码。
是否有人知道允许我执行此操作的sdk,资源或代码snipets?
谢谢
答案 0 :(得分:30)
唯一可以执行此操作的免费库是Cocoa-Touch-Barcodes,它是cocoabarcodes的分支。如果您正在考虑使用商业图书馆,那么有一个名为iPhone Barcode Generator。
更新检查ZXing的这个objective-c端口:https://github.com/TheLevelUp/ZXingObjC
答案 1 :(得分:15)
在您的Header文件中包含:#import "NKDBarcodeFramework.h"
,并将这些行放在您的init函数中。
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;
玩得开心: - )
答案 2 :(得分:7)
条码类型太多了
每种条形码类型都有很多子类型,每种类型都有自己的用途。
我解释了如何生成One D条形码类型代码之一
这里我解释了如何使用自定义字体生成条形码
<强>步骤:强>
1)从here
下载自定义字体2)从下载的zip
附加文件FRE3OF9X.ttf3)在info.plist中添加字体字体,在项目0 中添加 FRE3OF9X.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];
<强>结果:强>
答案 3 :(得分:5)
您可以使用CoreImage生成条形码图像。 CoreImage包含4个过滤器,用于生成不同的条形码:CICode128BarcodeGenerator,CIQRCodeGenerator,CIPDF417BarcodeGenerator,CIAztecCodeGenerator。
答案 4 :(得分:0)
我创建了一个用于生成Code 39条形码的简单类,只需要一个.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]