You are currently viewing Python Kullanarak Barkod Oluşturma
Photo by D Pl on Unsplash

Python Kullanarak Barkod Oluşturma

Python bol kütüphaneleri olan bir dil. Bir yazılım projesine başlamak istediğinizde siz, kodunuzda kullanacağınız kütüphaneleri hazır olarak bulabiliyorsunuz. İşte bu yazımda bir python kütüphanesi kullanarak basit bir şekilde barkod oluşturmayı öğreneceğiz.

Barkod nedir?

Barkodların icadının ince ve kalın çubuklara genişletilen Mors alfabesine dayandığını biliyor muydunuz?

Barkod, verileri görsel olarak makine tarafından okunabilir bir biçimde temsil etme yöntemidir. Başlangıçta barkodlar, paralel çizgilerin genişliklerini, aralıklarını ve boyutlarını değiştirerek verileri temsil ediyordu. Artık yaygın olarak lineer veya tek boyutlu (1D) olarak adlandırılan bu barkodlar, çeşitli türleri bulunan barkod okuyucu adı verilen özel optik tarayıcılar tarafından taranabiliyor. Daha sonra, matris kodları veya 2B barkodlar olarak adlandırılan dikdörtgenler, noktalar, altıgenler ve diğer desenler kullanılarak, çubuklar kullanmasalar da iki boyutlu (2B) varyantlar geliştirildi. 2D barkodlar, birkaç farklı biçimde bulunan amaca yönelik 2D optik tarayıcılar kullanılarak okunabiliyor. 2D barkodlar, barkodun fotoğraf görüntüsünü alan ve 2D barkodu çözümlemek ve kodunu çözmek için görüntüyü analiz eden yazılımı çalıştıran bir mikrobilgisayara bağlı bir dijital kamera tarafından da okunabilir. Akıllı telefon gibi dahili kamerası olan bir mobil cihaz, özel uygulama yazılımı kullanan ikinci tip 2D barkod okuyucu olarak işlev görebiliyor. (Aynı tür mobil cihaz, uygulama yazılımına bağlı olarak 1D barkodları da okuyabilir).

Barkod, Norman Joseph Woodland ve Bernard Silver tarafından icat edildi ve 1952’de ABD’de patenti alındı. Buluş, ince ve kalın çubuklara genişletilen Mors alfabesine dayanıyordu. Ancak bu buluşun ticari olarak başarılı olması yirmi yılı aşkın bir süre aldı. Örneğin, Birleşik Krallık Modern Demiryolları Dergisinde (Aralık 1962, sayfa 387-389) , İngiliz Demiryollarının 160 km/s hızla giden vagonları hatasız olarak doğru bir şekilde okuyabilen bir barkod okuma sistemini nasıl mükemmelleştirdiğini, ancak demiryollarının özelleştirilmesi gerçekleştiğinde sistemin terk edildiğini yazıyor.

Endüstriyel bağlamda bir tür barkodun erken kullanımı, 1960’ların sonlarında Amerikan Demiryolları Birliği tarafından desteklendi. General Telephone and Electronics (GTE) tarafından geliştirilen ve KarTrak ACI (Otomatik Vagon Tanıma) olarak adlandırılan bu şema, demiryolu vagonlarının kenarlarına yapıştırılan çelik levhalar üzerine çeşitli kombinasyonlarda renkli şeritler yerleştirmeyi içeriyordu. Sahiplik, ekipman türü ve kimlik numarası gibi bilgileri kodlayan renkli şeritlerin düzenlenmesiyle, vagon başına birer tane olmak üzere iki plaka kullanıldı. Plakalar, örneğin bir tasnif bahçesinin girişinde, vagon geçerken yol kenarındaki bir tarayıcı tarafından okundu. Proje, sistemin uzun süreli kullanımdan , yaklaşık on yıl, sonra güvenilmez olduğu kanıtlandığından vazgeçildi.

Barkod Oluşturma

Barkod modülünü kurun

Barkod kodu oluşturmak için python-barcode paketini kullanacağız. İlk adım, pip komutunu kullanarak paketi kurmaktır.

pip install python-barcode

İkinci adım, Pip komutunu kullanarak pillow kütüphanesini kurmaktır.

pip install pillow

Barkod oluşturuluyor

Aşağıdaki kod, EAN-13 formatında bir Barkod üretir. Bir SVG dosyasında üretilecektir.

EAN-13 barkodu dünya çapında diğer tüm barkodlardan daha fazla kullanılmaktadır. EAN-13 barkodu, bir GTIN-13’ü kodlar ve perakende satış noktasındaki ürünleri tek tek tanımlamak için kullanılır.

EAN, Avrupa ürün numarası anlamına gelir.

from barcode import EAN13
number = ‘1234567890123’
my_code = EAN13(number)
my_code.save(“new_code”)

Şimdi aynı barkodu PNG formatında oluşturalım.

from barcode import EAN13
from barcode.writer import ImageWriter
number = ‘1234567890123’
my_code = EAN13(number, writer=ImageWriter())
my_code.save(“code_png”)

Aşağıdaki kodu kullanarak desteklenen barkod biçimlerinin tam listesini alabilirsiniz:

import barcode
barcode_formats = barcode.PROVIDED_BARCODES
print(barcode_formats)

Desteklenen biçimler şunlardır:

['codabar', 'code128', 'code39', 'ean', 'ean13', 'ean13-guard', 'ean14', 'ean8', 'ean8-guard', 'gs1', 'gs1_128', 'gtin', 'isbn', 'isbn10', 'isbn13', 'issn', 'itf', 'jan', 'nw-7', 'pzn', 'upc', 'upca']

Not:- SVG formatı, vektör yapısından dolayı png ve jpeg formatından daha ölçeklenebilir olacaktır.

Daha fazla kullanım örneği için python-barcode kütüphanesini inceleyebilirsiniz.

https://python-barcode.readthedocs.io/en/stable/getting-started.html