Генерация штрих-кода из приложения iOS - PullRequest
29 голосов
/ 22 апреля 2011

Я хочу взять числовую строку и сгенерировать простой штрих-код, который может быть прочитан любым сканером.

Я уже могу использовать камеру и считывать штрих-код, но теперь я хотел бы сгенерировать штрих-код.

Кто-нибудь знает SDK, который позволит мне это делать, ресурсы или фрагменты кода?

Спасибо

Ответы [ 5 ]

30 голосов
/ 22 апреля 2011

Единственная бесплатная библиотека для этого - Cocoa-Touch-Barcodes , которая является вилкой из cocoabarcodes . Если вы рассматриваете коммерческие библиотеки, есть одна под названием Генератор штрих-кодов iPhone .

update Проверьте этот целевой порт c ZXing : https://github.com/TheLevelUp/ZXingObjC

15 голосов
/ 29 мая 2011

Включите: #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;

веселиться: -)

7 голосов
/ 12 ноября 2013

Существует так много типов штрих-кодов

  • Один Д
  • Два D
  • Три Д

Каждый тип штрих-кода имеет так много подтипов, и у каждого свое назначение.

Я объясняю, как сгенерировать один из штрих-кодов типа One D 39

здесь я объясняю, как создать этот штрих-код, используя пользовательский шрифт

Шаги:

1) Загрузите пользовательский шрифт из здесь

2) Прикрепите файл FRE3OF9X.ttf из скачанного zip

3) добавьте ключ Шрифты, предоставленные приложением в info.plist и в item 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];

Результат:

Barcode

5 голосов
/ 18 сентября 2015

Вы можете использовать CoreImage для создания изображений штрих-кода. CoreImage содержит 4 фильтра для генерации различных штрих-кодов: CICode128BarcodeGenerator , CIQRCodeGenerator , CIPDF417BarcodeGenerator , CIAztecCodeGenerator .

0 голосов
/ 16 октября 2015

Я создал простой класс для генерации штрих-кода Code 39, только один .h и один .m необходим для добавления в ваш проект, и с одной строкой кода он генерирует UIImage с данными, закодированными с кодом 39, например это:

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

Вот ссылка на проект на github: [https://github.com/bclin087/Simple-Code39-generator-for-iOS.git]

...