Feb
25
2010
0

PHP ile barkod oluşturma

Evet bir yanlışlık yok, php ile barkod oluşturabilirsiniz. Üstelik bunun için phpde olmayan bir eklentiye de ihtiyaç duymuyoruz (GD kütüphanesi yeterli).
Yalnız bir kötülüğü var, o da barkodun yazdırılmasında PHP nin fonksiyonu kalmıyor ve bu da bazı sıkıntılara yol açabilir (barkodun yerleşimi vs ). Şahsen php ile barkod oluşturup okutmayı hiç denemedim, daha doğrusu deneme şansım olmadı. Önceden uğraştığım,yarım kalan bir projede C# ile barkod oluşturma işi ile uğraşmıştım.
Neyse, dönelim konumuza. PHP ile bunu yapabilmenin iki yolu var. Biri PEAR kütüphanesinde bulunan bir paket, burda buna değinmeyeceğim. Bunun birinci ve en önemli nedeni, artık bu paketin geliştirilmiyor olması. İkinci sebep ise PHP5 uyumluluğunun bulunmaması (en son böyleydi)
İkinci ve burda ele alacağımız yöntem ise ZendFramework 1.10 ile yeni gelen Zend_Barcode sınıfı aracılığı ile.
ZendFramework’un güzel özellilerinden biri, MVC (Model-View-Controller) yapısını kullanarak siteler geliştirebildiğimiz gibi, bünyesinde barındırdığı sınıfları web uygulamalarımız içerisinde de kullanabilmemizdir.
Biz de burada ZF’nin MVC özelliğini bir kenara bırakarak barkod oluşturma işlemimize geçelim. Kendi yerel web sunucumuzda test için kullanacağımız bir klasör oluşturalım.
Şurdaki linkten minimal paketi indirerek uygun bir klasöre açalım. Açtığımız dosyalar içerisindeki “library” klasöründeki “Zend” klasörünü web sunucumuzda test için oluşturduğumuz bir klasöre kopyalayalım.
Daha sonra yine aynı klasörde index.php dosyası oluşturalım ve şu kodları yazalım :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require_once 'Zend/Barcode.php';
# text parametresi barkod üzerine yazılacak
# yazıyı temsil etmektedir
$barcodeOpsiyonlari = array('text' => 'ERSIN-DOGAN');
#

#
// zoeunlu olmayan opsiyonlar
#
$rendererOpsiyonlari = array();
#
$renderer = Zend_Barcode::factory(
#
   'code39', 'image', $barcodeOpsiyonlari, $rendererOpsiyonlari
#
);
$renderer->render();

Bu kodları çalıştırdığımızda karşımıza Code39 biçiminde barkod çıktısı verecektir.

Yukarıdaki kodları açıklamaya çalışalım. Zend_Barcode sınıfı barkod oluşturmak için factory metodunu kullanır ve şu parametreleri alır
-Barkod tipi
desteklenen tipler:
Code25
Code25interleaved
Code39
Ean2
Ean5
Ean8
Ean13
….
-render tipi (image,pdf veya sizin kendi oluşturacağınız bir render metodu)
-barkod opsiyonları
-render (render için uygun bir Türkçe karşılık bulamadım) opsiyonları.

Daha ayrıntılı bilgiye ZF’nin kendi sitesinden ulaşabilirsiniz.

Yaziyi gonderen Ersin in: Deneysel | Etiketler: ,

Powered by WordPress | conserio | xoppla | TheBuckmaker