2011-11-01 141 views
2

我正在寻找一种免费的API来在iPhone中生成线性条形码。我发现了一个用于生成条形码的zxing库,但它只生成QR码。 请给我一个用于生成线性条形码的库。 谢谢。iPhone中的线性条形码生成

回答

9

我发现这个项目很容易学习。

https://github.com/netshade/Cocoa-Touch-Barcodes

对于一个快速演示
还有一些其他的条码类型这个项目渲染,只要确保导入标题为您的特定需求。

将Cocoa-Touch-Barcodes项目中的文件添加到您的Xcode项目中。

在课堂上,你会用它来帮助显示条形码

#import "UIImage-NKDBarcode.h" 
#import "NKDEAN13Barcode.h" 

-(void)showBarcode { 
    NKDBarcode * nkdbarcode = [[NKDEAN13Barcode alloc] initWithContent:@"1234567890123"]; 
    UIImage * image = [UIImage imageFromBarcode:nkdbarcode]; 
    // assume barcodeIV is an outlet to an imageview 
    [barcodeIV setImage:image]; 
} 
+1

@anshul我添加了一些代码,以帮助您开始 –

+0

雅,明白了。谢谢Maudicus。最后一个问题:如果我想在条形码下面显示条形码号码(如1234567890123),该怎么办?我需要取消注释吗?你能否提供我所需的代码? – anshul

+1

Cocoa-Touch-Barcodes文档指出该功能不受支持。只需在图片下面放置一个标签并动态设置文本即可 –

0

只需使用任何常用的条形码字体。谷歌为他们,并使用他们像任何其他字体。

0

Avaible IOS 8.0或更高版本

您可以添加此方法,并创建线性条码容易

+(CIImage*)generateBarcode:(NSString*)dataString{ 

CIFilter *barCodeFilter = [CIFilter filterWithName:@"CICode128BarcodeGenerator"]; 
NSData *barCodeData = [dataString dataUsingEncoding:NSASCIIStringEncoding]; 
[barCodeFilter setValue:barCodeData forKey:@"inputMessage"]; 
[barCodeFilter setValue:[NSNumber numberWithFloat:0] forKey:@"inputQuietSpace"]; 

CIImage *barCodeImage = barCodeFilter.outputImage; 
return barCodeImage; 
} 

你可以像使用UIImageView一样使用返回的CIImage;

self.imageview.image = [UIImage imageWithCIImage: [self generateBarcode:@"SOME STRING HERE"]];