In diesem Artikel zeige ich, wie Barcodes programmgesteuert mit C++ generiert werden. Sie lernen auch, wie Sie einen Barcode-Scanner oder -Leser in Ihre C++ Anwendungen implementieren.

Barcode in C++ generieren

Barcodes dienen der visuellen Darstellung der Daten in maschinenlesbarer Form. Die besagte Technologie hat sich insbesondere bei automatisierten Kassensystemen, die in Geschäften und Supermärkten eingesetzt werden, als nützlich erwiesen. Fast jedes Produkt auf dem Markt ist heutzutage mit einem Barcode versehen. Diese weit verbreitete Popularität des Barcodes hat seine Anwendungsfälle in verschiedenen Bereichen erweitert. Um die Bedeutung von Barcodes im Auge zu behalten, hat Aspose vor einigen Jahren einen Barcode-Generator und eine Lese-API für verschiedene Plattformen eingeführt. Dieser Artikel soll zeigen, wie der Barcode-Generator und -Leser in den C++ Anwendungen implementiert wird, um Barcodes dynamisch zu generieren und zu lesen.

C++-Barcode-Generator und -Reader-API

Aspose.BarCode for C++ ist eine funktionsreiche C++-API zum Generieren und Lesen einer Vielzahl von 1D und 2D-Barcodes. Sie können die Barcodes generieren, anpassen und in hochwertige Bilder exportieren. Sie können die Bibliotheksdateien im Abschnitt Downloads herunterladen. Das herunterladbare Paket enthält auch eine Demo-C++ Anwendung für Sie.

Im Folgenden finden Sie eine Liste der Barcode-Symbologien, die Sie mit Aspose.BarCode for C++ generieren können:

  • Code128
  • Code39-Standard
  • Code39 erweitert
  • Code93-Standard
  • Code93 erweitert
  • Code11
  • Codabar
  • BuchlandEAN
  • EAN13
  • EAN8
  • EAN128
  • Interleaved2of5
  • Standard2von5
  • MSI
  • Postnet
  • Planet
  • UPCA
  • UPCE
  • EAN14(SCC14)
  • SSCC18
  • ITF14
  • Barcode-Ergänzung
  • Pdf417
  • QR
  • Datenmatrix
  • Matrix 2 von 5
  • PZN (Pharma Zentral Nummer, Barcode Pharmazentralnummer)
  • Identcode der Deutschen Post
  • aztekisch
  • Australische Post

Generieren Sie einen Barcode mit C++

Das Generieren eines Barcodes mit Aspose.BarCode kann innerhalb weniger Codezeilen erreicht werden. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie einen Barcode mit C++ generieren.

const System::String codeText = u"1234567";
const System::String fileName = u"code39_barcode.jpg";
// Barcode-Generator erstellen
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// Barcode generieren und als Bild speichern
barcodeGenerator->Save(fileName);

Das Folgende ist der Barcode, den wir mit dem obigen Code generiert haben.

Generieren Sie 2D-Barcodes (QR oder andere) mit C++

Im vorherigen Beispiel haben wir einen eindimensionalen Barcode erstellt. Lassen Sie uns nun einen zweidimensionalen Barcode wie einen QR-Code erstellen. Im Folgenden sind die Schritte zum Erstellen eines QR-Barcodes aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie einen QR-Barcode mit C++ generieren.

const System::String codeText = u"1234567";
const System::String fileName = u"QR_Code.jpg";
// Barcode-Generator erstellen
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::QR, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// Barcode generieren und als Bild speichern
barcodeGenerator->Save(fileName);

Der folgende QR-Code wird mit dem obigen Code generiert.

Generieren Sie benutzerdefinierte Barcodes mit C++

Sie können auch das Aussehen des Barcodes anpassen. Beispielsweise können Sie die Vordergrundfarbe, die Hintergrundfarbe, die Größe, den Rahmenstil usw. festlegen. Im Folgenden werden die Schritte zum Anpassen der Barcodes mit Aspose.BarCode for C++ beschrieben.

  • Erstellen und initialisieren Sie das Objekt der Klasse BarcodeGenerator.
  • Greifen Sie mit den Methoden BarcodeGenerator->getParameters() auf die Barcode-Parameter zu.
  • Stellen Sie die gewünschten Parameter ein.
  • Generieren Sie den Barcode und speichern Sie ihn als Bild.

Das folgende Codebeispiel zeigt, wie Sie mit C++ einen benutzerdefinierten Barcode generieren.

System::SharedPtr<BarcodeGenerator> barcodeGenerator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Aztec, System::String(u"1234567890"));
// Broder-Stil festlegen
tmp_0->get_Parameters()->get_Border()->set_DashStyle(Aspose::BarCode::BorderDashStyle::Solid);
// Breite einstellen
tmp_0->get_Parameters()->get_Border()->get_Width()->set_Millimeters(1.0f);
// Grenzsichtbarkeit einstellen
tmp_0->get_Parameters()->get_Border()->set_Visible(true);
// Hintergrundfarbe festlegen
tmp_0->get_Parameters()->set_BackColor(System::Drawing::Color::get_Black());
// Strichfarbe des Barcodes festlegen
tmp_0->get_Parameters()->get_Barcode()->set_ForeColor(System::Drawing::Color::get_Orange());
// Randfarbe einstellen
tmp_0->get_Parameters()->get_Border()->set_Color(System::Drawing::Color::get_Black());
// Textfarbe einstellen
tmp_0->get_Parameters()->get_Barcode()->get_CodeTextParameters()->set_Color(System::Drawing::Color::get_Orange());
// Bildauflösung einstellen
tmp_0->get_Parameters()->set_Resolution(400);
return tmp_0; }();	
 
barcodeGenerator->Save(System::String(u"custom_barcode.jpg"));

Das Folgende ist der benutzerdefinierte Aztec-Barcode, den wir generiert haben.

Generieren Sie Barcodes mit einer Beschriftung mit C++

Barcodes können auch die Beschriftung unter oder über dem Barcode enthalten. Sie können den Text der Beschriftung sowie ihre Sichtbarkeit im Barcode Bild festlegen. Das folgende Codebeispiel zeigt, wie Sie mit C++ einen Barcode mit den Beschriftungen generieren.

System::SharedPtr<BarcodeGenerator> generator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, System::String(u"1234567890"));
// Bildunterschrift oben setzen
tmp_0->get_Parameters()->get_CaptionAbove()->set_Text(u"Caption Above");
// Sichtbarkeit einstellen
tmp_0->get_Parameters()->get_CaptionAbove()->set_Visible(true);
// Bildunterschrift unten setzen
tmp_0->get_Parameters()->get_CaptionBelow()->set_Text(u"Caption Below");
// Sichtbarkeit einstellen
tmp_0->get_Parameters()->get_CaptionBelow()->set_Visible(true);
// Auflösung einstellen
tmp_0->get_Parameters()->set_Resolution(300);
return tmp_0; }();
generator->Save(System::String(u"barcode_caption.jpg"));

Das Folgende ist ein Strichcode mit den oberen und unteren Beschriftungen.

Scannen und lesen Sie Barcodes mit C++

Sehen wir uns nun an, wie die Barcodes mit Aspose.BarCode for C++ gescannt und gelesen werden. Im Folgenden sind die Schritte zum Ausführen dieser Funktion aufgeführt.

  • Erstellen Sie eine Instanz der Klasse BarCodeReader.
  • Initialisieren Sie die BarCodeReader-Instanz mit der Bilddatei des Barcodes und seiner Symbologie.
  • Verwenden Sie die Methode BarCodeReader->Read(), um den Text und Typ des Barcodes abzurufen.

Das folgende Codebeispiel zeigt, wie ein Barcode mit C++ gescannt und gelesen wird.

// Erstellen Sie eine Instanz der BarcodeGenerator Klasse 
System::SharedPtr<BarCodeReader> reader = System::MakeObject<BarCodeReader>(u"Code128.png", DecodeType::Code128);
while (reader->Read())
{
	// Codetext und Symbologietyp anzeigen
	System::Console::WriteLine(System::String(u"CodeText: ") + reader->GetCodeText());
	System::Console::Write(System::String(u"Symbology Type: ") + reader->GetCodeType());
}
reader->Close();

Lesen Sie Barcodes mit mehreren Symbologien mit C++

Meistens enthält ein Bild nur eine einzige Barcode-Symbologie. In bestimmten Fällen kann das Bild jedoch Barcodes mit mehreren Symbologien gleichzeitig enthalten. In solchen Fällen können Sie eine Liste der zu scannenden und zu lesenden Barcode-Symbologien bereitstellen.

Das folgende Codebeispiel zeigt, wie Sie ein Bild mit mehreren Barcode-Symbologien mit C++ scannen.

// Legen Sie Barcode-Symbologien fest
System::ArrayPtr<System::SharedPtr<BaseDecodeType>> objArray = System::MakeArray<System::SharedPtr<Aspose::BarCode::BarCodeRecognition::BaseDecodeType>>({ DecodeType::Code39Standard, DecodeType::Pdf417 });

// Initialisieren Sie den BarCodeReader, rufen Sie die Read() methode in einer Schleife auf und zeigen Sie den Codetext und den Symbologietyp an
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();

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C++ Barcodes mit unterschiedlichen Symbologien generieren. Darüber hinaus wird das Verfahren zum Scannen und Lesen von Barcodes zusammen mit C++-Codebeispielen besprochen. Weitere Informationen zur API finden Sie in der Dokumentation.

Siehe auch