2011-11-01 50 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"]];