2011-04-22 39 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]