Coder

18 Mart 2013

Dll kullanarak barkod oluşturmak

Daha önceki yazımda(Barkod oluşturma programı yapımı) hatırlayacak olursanız, metin fontu yardımı ile windows form arayüzünde label kontrolünün font özelliği kullanarak iyi, kötü barkod oluşturabildik. Biraz basit yöntemle olduğu için, ihtiyacı karşılayamamakta. Daha önceki yazının güncellemesi niteliğindeki bu yazımda metin fontu değilde hali hazırda var olan barkod oluşturma kütüphanesini(dll) kullanarak basit bir şekilde formda oluşturalım.

barkod-olusturma-programi

Örneğe başlamadan önce indirmeniz gereken dll dosyasını yapılan örnek ile birlikte alttaki buton yardımı ile indirebilirsiniz.
[viral-lock][wpdm_file id=5][/viral-lock]

Barkod dll indirdikten sonra resimdeki gibi basit bir form tasarlayalım. Formda görldüğü gibi textboxlar(uzunluk, genişlik, barkodun değeri), barkod tip isimlerinin görüleceği combobox, buton ve barkodun oluşturulacağı picturebox. Bunları ekledikten sonra kod kısmına geçmeden referans olarak indirilen dll dosyasını örneğe ekleyin(Projeye sağ tuş Add Reference seçip browser kısmında dll ekleyebilirsiniz).

Gerekli dosya ve görünümü bitirdikten sonra buton clik olayına gelerek kod kısmına geçebiliriz.

[cc lang='csharp' ] private void button1_Click(object sender, EventArgs e)
{
BarcodeLib.Barcode b = new BarcodeLib.Barcode();

int genislik = Convert.ToInt32(txtGenislik.Text);
int yukseklik = Convert.ToInt32(txtYukseklik.Text);
b.Alignment = BarcodeLib.AlignmentPositions.CENTER;

BarcodeLib.TYPE type = BarcodeLib.TYPE.UNSPECIFIED;
switch (cbBarkod.SelectedItem.ToString())
{
case “UPC-A”:
type = BarcodeLib.TYPE.UPCA;
break;

case “UPC-E”:
type = BarcodeLib.TYPE.UPCE;
break;

case “UPC 2 Digit Ext.”:
type = BarcodeLib.TYPE.UPC_SUPPLEMENTAL_2DIGIT;

break;
case “UPC 5 Digit Ext.”:
type = BarcodeLib.TYPE.UPC_SUPPLEMENTAL_5DIGIT;

break;
case “EAN-13″:
type = BarcodeLib.TYPE.EAN13;

break;
case “JAN-13″:
type = BarcodeLib.TYPE.JAN13;

break;
case “EAN-8″:
type = BarcodeLib.TYPE.EAN8;

break;
case “ITF-14″:
type = BarcodeLib.TYPE.ITF14;

break;
case “Codabar”:
type = BarcodeLib.TYPE.Codabar;

break;
case “PostNet”:
type = BarcodeLib.TYPE.PostNet;

break;
case “Bookland/ISBN”:
type = BarcodeLib.TYPE.BOOKLAND;

break;
case “Code 11″:
type = BarcodeLib.TYPE.CODE11;

break;
case “Code 39″:
type = BarcodeLib.TYPE.CODE39;

break;
case “Code 39 Extended”:
type = BarcodeLib.TYPE.CODE39Extended;

break;
case “Code 93″:
type = BarcodeLib.TYPE.CODE93;

break;
case “LOGMARS”:
type = BarcodeLib.TYPE.LOGMARS;

break;
case “MSI”:
type = BarcodeLib.TYPE.MSI_Mod10;

break;
case “Interleaved 2 of 5″:
type = BarcodeLib.TYPE.Interleaved2of5;

break;
case “Standard 2 of 5″:
type = BarcodeLib.TYPE.Standard2of5;

break;
case “Code 128″:
type = BarcodeLib.TYPE.CODE128;

break;
case “Code 128-A”:
type = BarcodeLib.TYPE.CODE128A;

break;
case “Code 128-B”:
type = BarcodeLib.TYPE.CODE128B;

break;
case “Code 128-C”:
type = BarcodeLib.TYPE.CODE128C;

break;
case “Telepen”:
type = BarcodeLib.TYPE.TELEPEN;

break;
case “FIM”:
type = BarcodeLib.TYPE.FIM;

break;
default:
MessageBox.Show(“Barkod türü belirtin !”);
break;
}
try
{
if (type != BarcodeLib.TYPE.UNSPECIFIED)
{
pbBarkod.Image = b.Encode(type, txtMetin.Text, genislik, yukseklik);
}

pbBarkod.Width = pbBarkod.Image.Width;
pbBarkod.Height = pbBarkod.Image.Height;

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}[/cc]

Combobox içine kütüphanede bulunan barkod tip isimlerini eklemeyi unutmayın. Switch-case ile combobox içindeki text e göre işlem yapacağı için isimleri ekteki örnekten faydalanarak veya istediğiniz barkod adını yazarak çalıştırabilirsiniz.

Bir çok yerde bulamayacağınız Ean 13 gibi barkod tiplerini buradaki kütüphane yardımı ücretsiz bir şekilde faydalana bilirsiniz.

12 Yorum »

  1. Merhaba, Yazı için Teşekkürler. .dll resim olarak barkod oluşturuyor. Oluşan bu barkodun altına başka bir bilgiyi nasıl girebiliriz. Sanırım şurda resim formatı oluşuyor. pbBarkod.Image = b.Encode(type, txtMetin.Text, genislik, yukseklik); Burda 5. 6. bir bilgi girdiğimizde Encode hatası veriyor. Bir yolu varmı acaba ??

    Yorum by Ali — 19 Mart 2013 @ 16:43

  2. Picturebox’ı encode ettiği için o anda başka bir bilgi giremezsin. Şöyle düşündüğünü farz ediyorum; barkodun hemen altına barkod numarası gelecek şekilde bir görüntü almak istiyorsun. Bunun için label kullanabilirsin. Label’ı barkod resmin boyutuna ve konumuna göre readonly(çalışır durumda) iken otomatik oluşturabilirsin.

    Yorum by Murat Mustafaoğlu — 19 Mart 2013 @ 17:00

  3. ilgi ve cevap için teşekkürler. Evet bende en son label kullanarak yapmıştım artık. şimdilerde Zebra TLP barkod yazıcıdan etikete yazdırmaya (çıktıyı etiket üstüne dekketirtmeye) çalışıyorum. Saygılar..

    Yorum by Ali — 20 Mart 2013 @ 13:57

  4. peki barkodu asp.net sayfasında nasıl gösterebilirim.

    Yorum by adem — 13 Nisan 2013 @ 12:40

  5. forma, panele oluşturulan barkodu nasıl gösteriyorsak o şekilde

    Yorum by Murat Mustafaoğlu — 13 Nisan 2013 @ 13:06

  6. Hocam merhaba,
    cbBarkod ve pbBarkod nerde tanımlanmış ve ne olarak tanımlanmış. ben kodunuzu kullandığımda burdan hata aldım.
    Örnek kodunuz harika çok işime yaracak lütfen sorularım yanıtlarsanız çok sevineceğim.
    saygılarımla.

    Yorum by isa türkmen — 23 Eylül 2013 @ 21:41

  7. sorular için burayı http://coder.digitaldunyam.net/answers/ kullanabilirsin

    Yorum by Murat Mustafaoğlu — 23 Eylül 2013 @ 22:02

  8. MERHABA… PROGRAMDA KULLANILAN DLL DOSYASI ACABA ÜCRETLİ BİR UYGULAMA MI. CEVAPLARSANIZ SEVİNİRİM.GÖRÜŞMEK ÜZERE….

    Yorum by ilker — 08 Şubat 2014 @ 11:20

  9. dll dosyası ücretsizdir, kullanabilirsiniz

    Yorum by Murat M.oğlu — 08 Şubat 2014 @ 11:31

  10. İyi günler. Ben dinamik barkod oluşturmak istiyorum bu yazınızda ki kodu kullanırsam işime yarar mı?

    Yorum by Cansu — 18 Haziran 2015 @ 14:37

  11. Deneyin.

    Yorum by Murat M.oğlu — 23 Haziran 2015 @ 22:16

  12. slm hocam bu dll ile yaptığım barkodun fontunu biraz kalınlaştırmam gerekiyor nasıl yapabilirim cihaz okumuyor ,interleaved 2 of 5 okuyor ama az daha geniş ve kalın yapamadım .

    Yorum by enesayengin — 25 Ocak 2017 @ 03:55

Bu yazıya yapılan yorumlar için RSS beslemeleri. TrackBack URL

Yorum yapın

Powered by WordPress