Barkodu herkes günlük yaşamında görüyordur sanırım, markette, işe girerken kullanılan giriş kartlarında, faturalarda,kitapların,gazetelerin,dergilerin üzerinde v.b.
Dikey olarak, belirli aralıklarla, beyaz zemin üstüne çizilmiş, değişik kalınlıktaki siyah çizgiler. Sanırım hatırladınız. Bu çizgilerin oluşması için farklı standartlar bulunmakta (araştırmalarımdan öğrenebildiğim kadarıyla 22 farklı standart bulunmakta).
Barkod yazdırmaya ihtiyaç duyduğumda, bu karmaşık işin altından kalkabilmek için biraz araştırma yapmam gerekti. Birçok arayan gibi ilk soluğu Google da aldım tabi.
İşime yarayacak barkod tipinin Code39 olduğuna karar verdikten sonra araştırmalarımı bu yöne kaydırdım. Birçok bileşen buldum, ama bulduğum bileşenler ya paralıydı ya da işime yaramadı. Ve en sonunda kolayca, bir bileşene gerek kalmaksızın Code39 formatında barkod çıktısı alabilmenin bir yolunu buldum.
Free3of9 yazı tipi ile Code39 biçiminde barkod çıktısı alınabilmekte. Matthew Welch tarafından hazırlanan bu yazı tipinde Code39 un tüm maharetlerini sergileyememesine rağmen, 0-9 arası rakamları kolaylıkla yazdırabildim.
ilk önce Free3of9 yazı tipini indirip , C:WindowsFonts klasörüne kopyalamanız gerekiyor. Ardından Visual Studioyu açıp bir WindowsApplication projesi oluşturun. Forma bir Panel (Panel genişiği 263; 68 olmalı) ve bir de Button objesi ekledikten sonra, panelin arka planını beyaz yaparak adını da barcodeIM olarak değiştirin. Sonra buttona tıklayarak gelen kod satırına şunları yazın:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Graphics g = barcodeIM .CreateGraphics();
Font LableFont =new Font ("Arial", 10);
Font CodeFont = new Font ("Free 3 of 9", 40);
string code = "*12345678*";
float LabelWidth = g .MeasureString(code,LableFont ).Width;
float CodeWidth = g .MeasureString(code, CodeFont ).Width;
g .DrawString(code, CodeFont, Brushes .Black, 0, 5);
g .DrawString(
code,
TitleFont,
Brushes .Black,
new PointF ((CodeWidth -LabelWidth )/2, 45)); |
ve işte barkodumuz karşımızda. Çok kolaymış değil mi ?
Evet barkodlar karmaşık şeyler ve çoğu zamanda can sıkıcı olabiliyorlar. Burada basitçe bir barkod oluşturmayı anlatmaya çalıştım. Bu konu böyle kısa geçilemeyecek kadar uzun ve karmaşık bir konu. Ama bu karmaşayı fazla arttırmamak için burada kısaca anlatma gereği duydum.ilerleyen zamanlarda bu konuya ilişkin yazılara devam etmeyi düşünüyorum. Görüşmek dileği ile….