
C# Windows Uygulamasında Barkod Nasıl Yazdırılır
1.0 Giriş
Verileri görünür, makineler tarafından okunabilir bir formatta sunmanın bir yolu, barkodların kullanılmasıdır. İlk başta, barkodlarda verileri temsil etmek için paralel çizgiler farklı şekilde aralıklı, genişletilmiş ve boyutlandırılmıştır. Bu modern çizgisel veya tek boyutlu (1D) barkodlar, barkod okuyucular olarak bilinen birkaç çeşidi bulunan özel optik tarayıcılar tarafından okunabilir. Daha sonra, matriks kodları veya 2D barkodlar olarak bilinen iki boyutlu (2D) varyasyonlar oluşturulmuştur, bu varyasyonlar gerçekten çubuklar kullanmaz. Bu varyasyonlar geleneksel barkodların yerine dikdörtgenler, noktalar, altıgenler ve diğer desenleri kullanır. 2D barkodları okumak için özel olarak tasarlanmış 2D optik tarayıcılar çeşitli konfigürasyonlarda mevcuttur. 2D barkodları okumanın başka bir yöntemi, bir bilgisayara bağlı bir dijital kamera kullanarak barkodun bir resmini çekerek ve resmi kullanarak çözümleyen yazılımı çalıştıran bir bilgisayar üzerinden gerçekleştirilir. Dijital kameraya entegre bir cihaz, bir akıllı telefon gibi bu tür bir 2D barkod tarayıcısını kullanabilir, özel uygulama yazılımı yüklenerek.
2.0 IronBarcode Özellikleri
Dinamik bir barkod oluşturma, IronBarcode'un Barkod Kütüphanesi kullanılarak kolayca yapılabilir. Bu basit kütüphane, yalnızca birkaç satır kodla bir barkod oluşturabilir. IronBarcode'un Barkod Okuyucuları, onları yüksek kaliteli barkodlar üretebilmelerine olanak tanıyan sağlam barkod üreteçleri içerir. Bu, barkod tarayıcısının barkodunuzu okumasını basit hale getirir.
- IronBarcode çoğu barkod formatını ve QR standartlarını okuyabilir ve yazabilir, UPC A/E, Databar, EAN 8/13, MSI, Code 39/93/128, CodaB, RSS 14/Genişletilmiş ve ITF dahil.
- Tarama yaparken ve gerçek zamanlı video kareleri okurken, IronBarcode dönüşüm, gürültü, bozulma ve eğim düzeltmesi yapabilir. IronBarcode barkodları üretirken, okuma hızı ve doğruluğunu artırmak için barkod resimlerini otomatik olarak ön işlemden geçirir. Dinamik barkodlar içeriği değiştirme yeteneği sunduğu için popülerdir.
- IronBarcode birçok çekirdek ve iş parçacığı kullanabilir, bu toplu işleme sunucuları için faydalıdır.
- Tek sayfa ve çok sayfa belgelerde IronBarcode bir veya daha fazla barkodu otomatik olarak bulabilir.
- IronBarcode hem 32-bit hem de 64-bit mimarileri destekler ve .NET Framework ve .NET Core uygulamalarıyla uyumludur.
- IronBarcode, PC ve mobil platformlarda konsol, masaüstü, bulut ve çevrimiçi uygulamaları destekler.
- IronBarcode, PDF, JPG, TIFF, GIF, BMP, PNG ve HTML dahil olmak üzere çeşitli dosya ve akış türleri için barkod resimleri oluşturabilir.
3.0 Yeni bir Proje Oluşturma (Visual Studio)
IronBarcode çerçevesini kullanmak için, önce bir Visual Studio .NET projesi oluşturulmalıdır. Visual Studio'nun herhangi bir sürümü kullanılabilir, ancak en son sürüm tavsiye edilir. İhtiyaçlarınıza bağlı olarak, .NET Windows Forms uygulaması oluşturabilir veya çeşitli proje şablonlarından birini seçebilirsiniz. Bu ders için, işleri basit tutmak amacıyla Windows Forms Uygulamasını kullanacağız.

Projenin adını ve konumunu girin.

Bu projede .NET Framework 4.7 kullanılacaktır.

Projeyi oluşturduktan sonra, Form1.cs dosyası tasarım görünümünde açılacak. Program kodunu ekleyebilir, kullanıcı arabirimini tasarlayabilir ve programı oluşturup/çalıştırabilirsiniz. Çözümde IronBarcode kütüphanesini kullanmak için, gerekli paketi indirmeniz gerekir. Bu, Paket Yöneticisi Konsolu'nda eklenecek kodu kullanarak yapılabilir:

Alternatif olarak, NuGet Paket Yöneticisi'ni kullanarak "Barkod" paketini arayıp indirebilir, bu tüm arama sonuçlarını listeleyecektir. Oradan, indirilecek gereken paketi seçebilirsiniz.

Formumuzda, oluşturulan barkod görüntülerini seçilen bir konuma kaydetmeye olanak tanıyan bir SaveFileDialog kutusu yerleştirdik.
4.0 IronBarcode kullanarak Barkod Üretin
IronBarcode kütüphanesi, yalnızca birkaç satır kodla hızla barkod üretmemizi sağlar. Aşağıda bir Windows Form kullanarak barkod etiketi üretmek için bir örnek kod bulunmaktadır:
using IronBarCode; // Import IronBarcode namespace for barcode generation
using System;
using System.Windows.Forms; // For creating Windows Forms applications
namespace IronBarcode_demo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); // Initializes the form components
}
private void button1_Click(object sender, EventArgs e)
{
try
{
saveFileDialog1.Filter = ".png|*.png"; // Set file filter for saving as PNG
DialogResult result = saveFileDialog1.ShowDialog(); // Show save file dialog
if (result == DialogResult.OK)
{
string filename = saveFileDialog1.FileName; // Get the filename chosen by the user
// Create a QR code using data from textBox1, and save it as a PNG
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename);
MessageBox.Show("Barcode Generated Successfully"); // Inform user of success
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // Display error message in case of exception
}
}
}
}Imports IronBarCode ' Import IronBarcode namespace for barcode generation
Imports System
Imports System.Windows.Forms ' For creating Windows Forms applications
Namespace IronBarcode_demo
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent() ' Initializes the form components
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Try
saveFileDialog1.Filter = ".png|*.png" ' Set file filter for saving as PNG
Dim result As DialogResult = saveFileDialog1.ShowDialog() ' Show save file dialog
If result = System.Windows.Forms.DialogResult.OK Then
Dim filename As String = saveFileDialog1.FileName ' Get the filename chosen by the user
' Create a QR code using data from textBox1, and save it as a PNG
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename)
MessageBox.Show("Barcode Generated Successfully") ' Inform user of success
End If
Catch ex As Exception
MessageBox.Show(ex.Message) ' Display error message in case of exception
End Try
End Sub
End Class
End NamespaceKoda başlamadan önce, .NET WinForms uygulamasına bir metin kutusu ekleyin. Bu, barkod üretmek için metni girmemizi sağlar. Ardından Windows Forms uygulamasına bir buton ekleyin ve örnek koddan gerekli kodu ekleyin. Ayrıca, oluşturulan barkod görüntüsünü istenilen konuma kaydetmeye yardımcı olacak SaveFileDialog aracını kullanıyoruz.

"barkodu kaydet" düğmesine kullanıcı tıkladığında "Farklı Kaydet" iletişim kutusu açılacak ve kullanıcıya oluşturulan barkod resminin PNG dosyası olarak kaydedileceği dosya adını ve konumunu seçme yetkisi verir. Barkod, metin kutusuna girilen metne dayanarak üretilir.

CreateQrCode fonksiyonu için gerekli olan tek argüman, QR kod görüntüsünde kodlanması gereken verilerdir (metin kutusundan aldığımız bir dize veya bir Stream). Yöntem ayrıca üç ek isteğe bağlı parametre kabul eder:
- Grafik varsayılan boyutu genişlik ve yükseklik 500 piksel.
- Hata düzeltme seviyesi. IronBarcode, dört hata düzeltme seviyesine sahiptir: Düşük, Orta, Yüksek ve En Yüksek. QR kodları oluştururken varsayılan olarak en yüksek düzeyde düzeltme kullanılır (
QRCodeWriter.QrErrorCorrectionLevel.greatest). - QR kodunun sürüm numarası. Değer 0 ise (varsayılan değer), yöntem, kodlanacak veriye göre uygun sürüm numarasını kullanma talimatı alır.
Yukarıdaki örnek, orta derece hata düzeltme kullanılarak 500 x 500 piksel bir grafik oluşturur. Oluşturulan özelleştirilmiş QR kodu üzerinde SaveAsPng fonksiyonunu kullanarak, QR kodunu belirlenen bir dosya konumunda SaveAs dosya iletişim kutusundan elde ettiğimiz konuma PNG dosyası olarak kaydedebiliriz.
Daha kapsamlı bir IronBarcode kılavuzu için buraya tıklayın.
Sonuç
IronBarcode kütüphanesi, çeşitli işletim sistemleriyle uyumluluğu ve verimliliği nedeniyle barkodları oluşturma ve tanıma açısından en iyi seçeneklerden biri olarak kabul edilmektedir. Farklı barkod türleri oluşturmak ve özelleştirmek için metin, renk, çizgi genişliği ve yükseklik ayarı yapabilme imkanı sunar. Kütüphanenin lisanslama detayları, geliştiriciler için hem ücretsiz hem de ücretli sürümleri içeren websitesinde bulunmaktadır. Güncellemeler ve destek bir yıl boyunca ücretsiz olarak sağlanır.

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


