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.
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++ kullanarak bir barkod oluşturun
- C++ kullanarak 2B barkod (QR veya diğer) oluşturun
- C++ kullanarak özelleştirilmiş görünüme sahip barkodlar oluşturun
- C++ kullanarak başlık içeren barkodlar oluşturun
- C++ kullanarak barkodları tarayın ve okuyun
- C++ kullanarak birden çok barkod sembolojisini okuyun
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.
- BarcodeGenerator sınıfından bir nesne oluşturun.
- Barkodun kodlama türü ve metni ile nesneyi başlatın.
- BarcodeGenerator->Save(System::String) yöntemini kullanarak barkod oluşturun.
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.
- BarcodeGenerator sınıfından bir nesne oluşturun.
- Nesneyi EncodeTypes::QR türüyle başlatın ve metnini ayarlayın.
- BarcodeGenerator->Save(System::String) yöntemini kullanarak barkod görüntüsü oluşturun.
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.
- BarcodeGenerator sınıfının nesnesini oluşturun ve başlatın.
- BarcodeGenerator->getParameters() yöntemlerini kullanarak barkod parametrelerine erişin.
- İstenen parametreleri ayarlayın.
- Barkodu oluşturun ve resim olarak kaydedin.
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.