V tomto článku ukážu, jak generovat čárové kódy programově pomocí C++. Dozvíte se také, jak implementovat čtečku čárových kódů nebo čtečku do vašich C++ aplikací.
Čárové kódy se používají k vizuální reprezentaci dat ve strojově čitelné podobě. Uvedená technologie se osvědčila zejména v automatizovaných pokladních systémech nasazených v obchodech a supermarketech. Téměř každý produkt na dnešním trhu obsahuje čárový kód. Tato rozšířená popularita čárového kódu rozšířila jeho případy použití v různých oblastech. S ohledem na důležitost čárových kódů společnost Aspose před několika lety spustila generátor čárových kódů a čtečku API pro různé platformy. Tento článek si klade za cíl předvést, jak implementovat generátor a čtečku čárových kódů v aplikacích C++ pro dynamické generování a čtení čárových kódů.
- Vygenerujte čárový kód pomocí C++
- Generujte 2D čárový kód (QR nebo jiný) pomocí C++
- Vytvářejte čárové kódy s přizpůsobeným vzhledem pomocí C++
- Vytvářejte čárové kódy s popisem pomocí C++
- Skenujte a čtěte čárové kódy pomocí C++
- Čtěte více symbolů čárových kódů pomocí C++
API pro generátor a čtečku čárových kódů C++
Aspose.BarCode for C++ je funkčně bohaté C++ API pro generování a čtení velkého množství 1D a 2D čárových kódů. Umožňuje generovat, přizpůsobovat a exportovat čárové kódy do vysoce kvalitních obrázků. Soubory knihovny si můžete stáhnout ze sekce Ke stažení. Balíček ke stažení obsahuje také ukázkovou C++ aplikaci pro vás.
Níže je uveden seznam symbolik čárových kódů, které můžete vygenerovat pomocí Aspose.BarCode for C++:
- Kód128
- Standard Code39
- Rozšířený kód 39
- Standard Code93
- Rozšířený kód 93
- Kód11
- Codabar
- BooklandEAN
- EAN13
- EAN8
- EAN128
- Interleaved2of5
- Standardní2z5
- MSI
- Postnet
- Planeta
- UPCA
- UPCE
- EAN14(SCC14)
- SSCC18
- ITF14
- Dodatek k čárovému kódu
- Pdf417
- QR
- Datamatrix
- Matrix 2 z 5
- PZN (Pharma Zentral Nummer, Pharmazentralnummer čárový kód)
- Deutsche Post Identcode
- aztécký
- Australia Post
Vygenerujte čárový kód pomocí C++
Generování čárového kódu pomocí Aspose.BarCode lze dosáhnout během několika řádků kódu. Následují kroky k provedení této operace.
- Vytvořte objekt třídy BarcodeGenerator.
- Inicializujte objekt typem kódování čárového kódu a jeho textem.
- Vygenerujte čárový kód pomocí metody BarcodeGenerator->Save(System::String).
Následující ukázka kódu ukazuje, jak vygenerovat čárový kód pomocí C++.
const System::String codeText = u"1234567";
const System::String fileName = u"code39_barcode.jpg";
// Vytvořte generátor čárových kódů
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// Vygenerujte čárový kód a uložte jej jako obrázek
barcodeGenerator->Save(fileName);
Následuje čárový kód, který jsme vygenerovali pomocí výše uvedeného kódu.
Generujte 2D čárový kód (QR nebo jiný) pomocí C++
V předchozím příkladu jsme vytvořili jednorozměrný čárový kód. Nyní vytvoříme dvourozměrný čárový kód, například QR kód. Níže jsou uvedeny kroky k vytvoření čárového kódu QR.
- Vytvořte objekt třídy BarcodeGenerator.
- Inicializujte objekt typem EncodeTypes::QR a nastavte jeho text.
- Vytvořte obrázek čárového kódu pomocí metody BarcodeGenerator->Save(System::String).
Následující ukázka kódu ukazuje, jak vygenerovat čárový kód QR pomocí C++.
const System::String codeText = u"1234567";
const System::String fileName = u"QR_Code.jpg";
// Vytvořte generátor čárových kódů
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::QR, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// Vygenerujte čárový kód a uložte jej jako obrázek
barcodeGenerator->Save(fileName);
Pomocí výše uvedeného kódu bude vygenerován následující QR kód.
Generujte přizpůsobené čárové kódy pomocí C++
Můžete si také upravit vzhled čárového kódu. Můžete například nastavit barvu popředí, barvu pozadí, velikost, styl ohraničení atd. Níže jsou uvedeny kroky pro přizpůsobení čárových kódů pomocí Aspose.BarCode for C++.
- Vytvořte a inicializujte objekt třídy BarcodeGenerator.
- Přístup k parametrům čárového kódu pomocí metod BarcodeGenerator->getParameters().
- Nastavte požadované parametry.
- Vygenerujte čárový kód a uložte jej jako obrázek.
Následující ukázka kódu ukazuje, jak vygenerovat přizpůsobený čárový kód pomocí C++.
System::SharedPtr<BarcodeGenerator> barcodeGenerator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Aztec, System::String(u"1234567890"));
// nastavit širší styl
tmp_0->get_Parameters()->get_Border()->set_DashStyle(Aspose::BarCode::BorderDashStyle::Solid);
// nastavit šířku
tmp_0->get_Parameters()->get_Border()->get_Width()->set_Millimeters(1.0f);
// nastavit viditelnost hranic
tmp_0->get_Parameters()->get_Border()->set_Visible(true);
// nastavit barvu pozadí
tmp_0->get_Parameters()->set_BackColor(System::Drawing::Color::get_Black());
// nastavit barvu čárového kódu
tmp_0->get_Parameters()->get_Barcode()->set_ForeColor(System::Drawing::Color::get_Orange());
// nastavit barvu ohraničení
tmp_0->get_Parameters()->get_Border()->set_Color(System::Drawing::Color::get_Black());
// nastavit barvu textu
tmp_0->get_Parameters()->get_Barcode()->get_CodeTextParameters()->set_Color(System::Drawing::Color::get_Orange());
// nastavit rozlišení obrázku
tmp_0->get_Parameters()->set_Resolution(400);
return tmp_0; }();
barcodeGenerator->Save(System::String(u"custom_barcode.jpg"));
Následuje přizpůsobený aztécký čárový kód, který jsme vygenerovali.
Generujte čárové kódy s titulkem pomocí C++
Čárové kódy mohou také obsahovat popisek pod nebo nad čárovým kódem. Můžete nastavit text titulku i jeho viditelnost v obrázku čárového kódu. Následující ukázka kódu ukazuje, jak vygenerovat čárový kód s titulky pomocí C++.
System::SharedPtr<BarcodeGenerator> generator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, System::String(u"1234567890"));
// nastavit titulek výše
tmp_0->get_Parameters()->get_CaptionAbove()->set_Text(u"Caption Above");
// nastavit viditelnost
tmp_0->get_Parameters()->get_CaptionAbove()->set_Visible(true);
// nastavit titulek níže
tmp_0->get_Parameters()->get_CaptionBelow()->set_Text(u"Caption Below");
// nastavit viditelnost
tmp_0->get_Parameters()->get_CaptionBelow()->set_Visible(true);
// nastavit rozlišení
tmp_0->get_Parameters()->set_Resolution(300);
return tmp_0; }();
generator->Save(System::String(u"barcode_caption.jpg"));
Následuje čárový kód s popisky nahoře a dole.
Skenujte a čtěte čárové kódy pomocí C++
Podívejme se nyní, jak skenovat a číst čárové kódy pomocí Aspose.BarCode for C++. Následují kroky k provedení této funkce.
- Vytvořte instanci třídy BarCodeReader.
- Inicializujte instanci BarCodeReader pomocí souboru obrázku čárového kódu a jeho symboliky.
- Pomocí metody BarCodeReader->Read() načtěte text a typ čárového kódu.
Následující ukázka kódu ukazuje, jak skenovat a číst čárový kód pomocí C++.
// Vytvořte instanci třídy BarcodeGenerator
System::SharedPtr<BarCodeReader> reader = System::MakeObject<BarCodeReader>(u"Code128.png", DecodeType::Code128);
while (reader->Read())
{
// Zobrazte text kódu a typ symboliky
System::Console::WriteLine(System::String(u"CodeText: ") + reader->GetCodeText());
System::Console::Write(System::String(u"Symbology Type: ") + reader->GetCodeType());
}
reader->Close();
Čtení čárových kódů s více symboly pomocí C++
Obraz většinou obsahuje pouze jednu symboliku čárového kódu. V určitých případech však může obrázek obsahovat čárové kódy několika symbolů současně. V takových případech můžete poskytnout seznam symbolů čárových kódů, které se mají naskenovat a přečíst.
Následující ukázka kódu ukazuje, jak skenovat obrázek s více symboly čárového kódu pomocí C++.
// Nastavit symboliky čárových kódů
System::ArrayPtr<System::SharedPtr<BaseDecodeType>> objArray = System::MakeArray<System::SharedPtr<Aspose::BarCode::BarCodeRecognition::BaseDecodeType>>({ DecodeType::Code39Standard, DecodeType::Pdf417 });
// Inicializujte čtečku BarCodeReader, volejte metodu Read() ve smyčce a zobrazte kódový text a typ symboliky
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ávěr
V tomto článku jste se naučili generovat čárové kódy s různými symboliky pomocí C++. Kromě toho je také diskutován postup skenování a čtení čárových kódů spolu s ukázkami kódu C++. Více o API můžete prozkoumat pomocí dokumentace.