Bu yazıda, C++ kullanarak programlı olarak nasıl barkod üretileceğini göstereceğim. Ayrıca C++ uygulamalarınızda bir barkod tarayıcıyı veya okuyucuyu nasıl uygulayacağınızı da öğreneceksiniz.

C++ ile barkod oluştur

Barkodlar, verileri makine tarafından okunabilir biçimde görsel olarak temsil etmek için kullanılır. Söz konusu teknolojinin, özellikle mağazalarda ve süpermarketlerde kullanılan otomatik ödeme sistemlerinde kullanışlı olduğu kanıtlanmıştır. Bugünlerde piyasada bulunan hemen hemen her ürünün üzerinde bir barkod bulunmaktadır. Barkodun bu yaygın popülaritesi, kullanım alanlarını çeşitli alanlarda genişletti. Barkodların önemine dikkat çeken Aspose, birkaç yıl önce çeşitli platformlar için barkod oluşturucu ve okuyucu API’yi piyasaya sürdü. Bu makale, barkodları dinamik olarak oluşturmak ve okumak için C++ uygulamalarında barkod oluşturucu ve okuyucunun nasıl uygulanacağını göstermeyi amaçlamaktadır.

C++ Barkod Oluşturucu ve Okuyucu API’si

Aspose.BarCode for C++, çok sayıda 1B ve 2B barkod oluşturmak ve okumak için zengin özelliklere sahip bir C++ API’sidir. Barkodları oluşturmanıza, özelleştirmenize ve yüksek kaliteli görüntülere dışa aktarmanıza olanak tanır. Kütüphane dosyalarını İndirilenler bölümünden indirebilirsiniz. İndirilebilir paket ayrıca sizin için bir demo C++ uygulaması içerir.

Aspose.BarCode for C++ kullanarak oluşturabileceğiniz barkod sembolojilerinin listesi aşağıdadır:

  • Kod128
  • Code39 Standardı
  • Code39 Genişletilmiş
  • Code93 Standardı
  • Code93 Genişletilmiş
  • Kod11
  • Codabar
  • BooklandEAN
  • EAN13
  • EAN8
  • EAN128
  • Interleaved2of5
  • Standart2of5
  • MSI
  • posta ağı
  • Gezegen
  • UPCA
  • UPCE
  • EAN14(SCC14)
  • SSCC18
  • ITF14
  • Barkod eki
  • Pdf417
  • QR
  • Veri matrisi
  • Matris 2/5
  • PZN (Pharma Zentral Numarası, Pharmazentralnummer barkodu)
  • Deutsche Posta Kimlik Kodu
  • Aztek
  • Avustralya Postası

C++ kullanarak bir Barkod oluşturun

Aspose.BarCode kullanarak bir barkod oluşturmak birkaç satır kodla gerçekleştirilebilir. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

Aşağıdaki kod örneği, C++ kullanılarak bir barkodun nasıl oluşturulacağını gösterir.

const System::String codeText = u"1234567";
const System::String fileName = u"code39_barcode.jpg";
// Barkod üreteci oluştur
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// Barkod oluştur ve resim olarak kaydet
barcodeGenerator->Save(fileName);

Yukarıdaki kodu kullanarak oluşturduğumuz barkod aşağıdadır.

C++ kullanarak 2B Barkod (QR veya diğer) oluşturun

Önceki örnekte, tek boyutlu bir barkod oluşturduk. Şimdi QR kodu gibi iki boyutlu bir barkod oluşturalım. QR barkod oluşturma adımları aşağıdadır.

Aşağıdaki kod örneği, C++ kullanılarak bir QR barkodunun nasıl oluşturulacağını gösterir.

const System::String codeText = u"1234567";
const System::String fileName = u"QR_Code.jpg";
// Barkod üreteci oluştur
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::QR, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// Barkod oluştur ve resim olarak kaydet
barcodeGenerator->Save(fileName);

Aşağıdaki QR kodu, yukarıdaki kod kullanılarak oluşturulacaktır.

C++ kullanarak Özel Barkodlar Oluşturun

Barkodun görünümünü de özelleştirebilirsiniz. Örneğin, ön plan rengini, arka plan rengini, boyutunu, kenarlık stilini vb. ayarlayabilirsiniz. Aşağıda, Aspose.BarCode for C++ kullanarak barkodları özelleştirmek için gereken adımlar yer almaktadır.

Aşağıdaki kod örneği, C++ kullanılarak özelleştirilmiş bir barkodun nasıl oluşturulacağını gösterir.

System::SharedPtr<BarcodeGenerator> barcodeGenerator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Aztec, System::String(u"1234567890"));
// broder stilini ayarla
tmp_0->get_Parameters()->get_Border()->set_DashStyle(Aspose::BarCode::BorderDashStyle::Solid);
// genişliği ayarla
tmp_0->get_Parameters()->get_Border()->get_Width()->set_Millimeters(1.0f);
// sınır görünürlüğünü ayarla
tmp_0->get_Parameters()->get_Border()->set_Visible(true);
// arka plan rengini ayarla
tmp_0->get_Parameters()->set_BackColor(System::Drawing::Color::get_Black());
// barkodun çubuk rengini ayarla
tmp_0->get_Parameters()->get_Barcode()->set_ForeColor(System::Drawing::Color::get_Orange());
// kenarlık rengini ayarla
tmp_0->get_Parameters()->get_Border()->set_Color(System::Drawing::Color::get_Black());
// metin rengini ayarla
tmp_0->get_Parameters()->get_Barcode()->get_CodeTextParameters()->set_Color(System::Drawing::Color::get_Orange());
// görüntü çözünürlüğünü ayarla
tmp_0->get_Parameters()->set_Resolution(400);
return tmp_0; }();	
 
barcodeGenerator->Save(System::String(u"custom_barcode.jpg"));

Aşağıda, oluşturduğumuz özelleştirilmiş Aztek barkodu yer almaktadır.

C++ kullanarak Başlıklı Barkodlar Oluşturun

Barkodlar ayrıca barkodun altında veya üstünde başlık içerebilir. Başlık metninin yanı sıra barkod görüntüsündeki görünürlüğünü de ayarlayabilirsiniz. Aşağıdaki kod örneği, C++ kullanılarak altyazılı bir barkodun nasıl oluşturulacağını gösterir.

System::SharedPtr<BarcodeGenerator> generator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, System::String(u"1234567890"));
// yukarıya başlık ayarla
tmp_0->get_Parameters()->get_CaptionAbove()->set_Text(u"Caption Above");
// görünürlüğü ayarla
tmp_0->get_Parameters()->get_CaptionAbove()->set_Visible(true);
// altyazıyı aşağıya ayarla
tmp_0->get_Parameters()->get_CaptionBelow()->set_Text(u"Caption Below");
// görünürlüğü ayarla
tmp_0->get_Parameters()->get_CaptionBelow()->set_Visible(true);
// çözünürlüğü ayarla
tmp_0->get_Parameters()->set_Resolution(300);
return tmp_0; }();
generator->Save(System::String(u"barcode_caption.jpg"));

Aşağıdaki, üst ve alt başlıkları içeren bir barkoddur.

C++ kullanarak Barkodları Tarayın ve Okuyun

Şimdi Aspose.BarCode for C++ kullanarak barkodların nasıl taranacağını ve okunacağını görelim. Bu özelliği gerçekleştirmek için gereken adımlar aşağıdadır.

  • BarCodeReader sınıfının bir örneğini oluşturun.
  • Barkodun görüntü dosyası ve sembolojisi ile BarCodeReader örneğini başlatın.
  • Barkodun metnini ve türünü almak için BarCodeReader->Read() yöntemini kullanın.

Aşağıdaki kod örneği, C++ kullanarak bir barkodun nasıl taranacağını ve okunacağını gösterir.

// BarcodeGenerator sınıfının örneğini oluşturun 
System::SharedPtr<BarCodeReader> reader = System::MakeObject<BarCodeReader>(u"Code128.png", DecodeType::Code128);
while (reader->Read())
{
	// Kod metnini ve Semboloji Türünü görüntüleyin
	System::Console::WriteLine(System::String(u"CodeText: ") + reader->GetCodeText());
	System::Console::Write(System::String(u"Symbology Type: ") + reader->GetCodeType());
}
reader->Close();

C++ kullanarak Çoklu Sembolojilere Sahip Barkodları Okuyun

Çoğu zaman, bir görüntü yalnızca tek bir barkod sembolojisi içerir. Ancak bazı durumlarda görüntü aynı anda birden çok sembolojinin barkodlarını içerebilir. Bu gibi durumlarda, taranacak ve okunacak barkod sembolojilerinin bir listesini sağlayabilirsiniz.

Aşağıdaki kod örneği, birden çok barkod sembolüne sahip bir görüntünün C++ kullanılarak nasıl taranacağını gösterir.

// Barkod sembolojilerini ayarla
System::ArrayPtr<System::SharedPtr<BaseDecodeType>> objArray = System::MakeArray<System::SharedPtr<Aspose::BarCode::BarCodeRecognition::BaseDecodeType>>({ DecodeType::Code39Standard, DecodeType::Pdf417 });

// BarCodeReader'ı başlatın, Read() yöntemini bir döngüde çağırın ve kod metni ile semboloji türünü görüntüleyin
System::SharedPtr<BarCodeReader> reader = System::MakeObject<BarCodeReader>(u"RecognizingMultipleSymbologies.png", objArray);
while (reader->Read())
{
	System::Console::WriteLine(System::String(u"Codetext: ") + reader->GetCodeText());
	System::Console::WriteLine(System::String(u"Symbology type: ") + reader->GetCodeType());
}
reader->Close();

Çözüm

Bu makalede, C++ kullanarak farklı sembolojilere sahip barkodların nasıl oluşturulacağını öğrendiniz. Ek olarak, barkodları tarama ve okuma prosedürü de C++ kod örnekleriyle birlikte ele alınmıştır. Belgeleri kullanarak API hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız