이 기사에서는 C++를 사용하여 프로그래밍 방식으로 바코드를 생성하는 방법을 보여줍니다. 또한 C++ 응용 프로그램 내에서 바코드 스캐너 또는 판독기를 구현하는 방법을 배우게 됩니다.

C++에서 바코드 생성

바코드는 기계가 읽을 수 있는 형태로 데이터를 시각적으로 표현하는 데 사용됩니다. 이 기술은 특히 상점과 슈퍼마켓에 배치된 자동 계산 시스템에서 유용한 것으로 입증되었습니다. 요즘 시장에 나와 있는 거의 모든 제품에는 바코드가 포함되어 있습니다. 이러한 바코드의 광범위한 인기는 다양한 영역에서 사용 사례를 확장했습니다. Aspose는 몇 년 전 바코드의 중요성에 주목하여 다양한 플랫폼을 위한 바코드 생성기 및 리더 API를 출시했습니다. 이 기사는 바코드를 동적으로 생성하고 읽기 위해 C++ 애플리케이션 내에서 바코드 생성기와 판독기를 구현하는 방법을 보여주는 것을 목표로 합니다.

C++ 바코드 생성기 및 리더 API

Aspose.BarCode for C++은 다양한 1D 및 2D 바코드를 생성하고 읽기 위한 기능이 풍부한 C++ API입니다. 이를 통해 바코드를 생성, 사용자 정의 및 고품질 이미지로 내보낼 수 있습니다. 다운로드 섹션에서 라이브러리 파일을 다운로드할 수 있습니다. 다운로드 가능한 패키지에는 데모 C++ 응용 프로그램도 포함되어 있습니다.

다음은 C++용 Aspose.BarCode를 사용하여 생성할 수 있는 바코드 기호 목록입니다.

  • 코드128
  • Code39 표준
  • Code39 확장
  • Code93 표준
  • Code93 확장
  • 코드11
  • 코다바
  • 북랜드EAN
  • EAN13
  • EAN8
  • EAN128
  • 인터리브드2of5
  • Standard2of5
  • MSI
  • 포스트넷
  • 행성
  • UPCA
  • UPCE
  • EAN14(SCC14)
  • SSCC18
  • ITF14
  • 바코드 보충
  • PDF417
  • QR
  • 데이터 매트릭스
  • 매트릭스 2/5
  • PZN(Pharma Zentral 숫자, Pharmazentralnummer 바코드)
  • Deutsche Post Identcode
  • 아즈텍
  • 호주 우편

C++를 사용하여 바코드 생성

Aspose.BarCode를 사용하여 바코드를 생성하는 것은 몇 줄의 코드 내에서 달성할 수 있습니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 C++를 사용하여 바코드를 생성하는 방법을 보여줍니다.

const System::String codeText = u"1234567";
const System::String fileName = u"code39_barcode.jpg";
// 바코드 생성기 생성
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// 바코드 생성 및 이미지로 저장
barcodeGenerator->Save(fileName);

다음은 위의 코드를 사용하여 생성한 바코드입니다.

C++를 사용하여 2D 바코드(QR 또는 기타) 생성

이전 예에서는 1차원 바코드를 만들었습니다. 이제 QR 코드와 같은 2차원 바코드를 생성해 보겠습니다. 다음은 QR 바코드를 만드는 단계입니다.

다음 코드 샘플은 C++를 사용하여 QR 바코드를 생성하는 방법을 보여줍니다.

const System::String codeText = u"1234567";
const System::String fileName = u"QR_Code.jpg";
// 바코드 생성기 생성
System::SharedPtr<BarcodeGenerator> barcodeGenerator = System::MakeObject<BarcodeGenerator>(EncodeTypes::QR, codeText);
barcodeGenerator->get_Parameters()->set_Resolution(300);
// 바코드 생성 및 이미지로 저장
barcodeGenerator->Save(fileName);

위의 코드를 사용하여 다음 QR 코드가 생성됩니다.

C++를 사용하여 맞춤형 바코드 생성

바코드의 모양을 사용자 정의할 수도 있습니다. 예를 들어 전경색, 배경색, 크기, 테두리 스타일 등을 설정할 수 있습니다. 다음은 C++용 Aspose.BarCode를 사용하여 바코드를 사용자 지정하는 단계를 살펴보았습니다.

  • BarcodeGenerator 클래스의 객체를 생성하고 초기화합니다.
  • BarcodeGenerator->getParameters() 메서드를 사용하여 바코드 매개변수에 액세스합니다.
  • 원하는 매개변수를 설정합니다.
  • 바코드를 생성하고 이미지로 저장합니다.

다음 코드 샘플은 C++를 사용하여 맞춤형 바코드를 생성하는 방법을 보여줍니다.

System::SharedPtr<BarcodeGenerator> barcodeGenerator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Aztec, System::String(u"1234567890"));
// 브로더 스타일 설정
tmp_0->get_Parameters()->get_Border()->set_DashStyle(Aspose::BarCode::BorderDashStyle::Solid);
// 너비 설정
tmp_0->get_Parameters()->get_Border()->get_Width()->set_Millimeters(1.0f);
// 테두리 가시성 설정
tmp_0->get_Parameters()->get_Border()->set_Visible(true);
// 배경색 설정
tmp_0->get_Parameters()->set_BackColor(System::Drawing::Color::get_Black());
// 바코드의 막대 색상 설정
tmp_0->get_Parameters()->get_Barcode()->set_ForeColor(System::Drawing::Color::get_Orange());
// 테두리 색상 설정
tmp_0->get_Parameters()->get_Border()->set_Color(System::Drawing::Color::get_Black());
// 텍스트 색상 설정
tmp_0->get_Parameters()->get_Barcode()->get_CodeTextParameters()->set_Color(System::Drawing::Color::get_Orange());
// 이미지 해상도 설정
tmp_0->get_Parameters()->set_Resolution(400);
return tmp_0; }();	
 
barcodeGenerator->Save(System::String(u"custom_barcode.jpg"));

다음은 우리가 생성한 맞춤형 Aztec 바코드입니다.

C++를 사용하여 캡션이 있는 바코드 생성

바코드는 바코드 아래 또는 위에 캡션을 포함할 수도 있습니다. 캡션의 텍스트와 바코드 이미지의 가시성을 설정할 수 있습니다. 다음 코드 샘플은 C++를 사용하여 캡션이 있는 바코드를 생성하는 방법을 보여줍니다.

System::SharedPtr<BarcodeGenerator> generator = [&] { auto tmp_0 = System::MakeObject<BarcodeGenerator>(EncodeTypes::Code39Standard, System::String(u"1234567890"));
// 위에 캡션 설정
tmp_0->get_Parameters()->get_CaptionAbove()->set_Text(u"Caption Above");
// 가시성 설정
tmp_0->get_Parameters()->get_CaptionAbove()->set_Visible(true);
// 아래에 캡션 설정
tmp_0->get_Parameters()->get_CaptionBelow()->set_Text(u"Caption Below");
// 가시성 설정
tmp_0->get_Parameters()->get_CaptionBelow()->set_Visible(true);
// 해상도 설정
tmp_0->get_Parameters()->set_Resolution(300);
return tmp_0; }();
generator->Save(System::String(u"barcode_caption.jpg"));

다음은 위와 아래 캡션이 있는 바코드입니다.

C++를 사용하여 바코드 스캔 및 읽기

이제 Aspose.BarCode for C++를 사용하여 바코드를 스캔하고 읽는 방법을 살펴보겠습니다. 다음은 이 기능을 수행하는 단계입니다.

  • BarCodeReader 클래스의 인스턴스를 만듭니다.
  • 바코드의 이미지 파일과 심볼로 BarCodeReader 인스턴스를 초기화합니다.
  • BarCodeReader->Read() 메서드를 사용하여 바코드의 텍스트와 유형을 검색합니다.

다음 코드 샘플은 C++를 사용하여 바코드를 스캔하고 읽는 방법을 보여줍니다.

// BarcodeGenerator 클래스의 인스턴스 생성 
System::SharedPtr<BarCodeReader> reader = System::MakeObject<BarCodeReader>(u"Code128.png", DecodeType::Code128);
while (reader->Read())
{
	// 코드 텍스트 및 기호 유형 표시
	System::Console::WriteLine(System::String(u"CodeText: ") + reader->GetCodeText());
	System::Console::Write(System::String(u"Symbology Type: ") + reader->GetCodeType());
}
reader->Close();

C++를 사용하여 여러 기호가 있는 바코드 읽기

대부분의 경우 이미지에는 단일 바코드 기호만 포함됩니다. 그러나 경우에 따라 이미지에 여러 기호의 바코드가 동시에 포함될 수 있습니다. 이러한 경우 스캔하고 읽을 바코드 기호 목록을 제공할 수 있습니다.

다음 코드 샘플은 C++를 사용하여 여러 바코드 기호가 있는 이미지를 스캔하는 방법을 보여줍니다.

// 바코드 기호 설정
System::ArrayPtr<System::SharedPtr<BaseDecodeType>> objArray = System::MakeArray<System::SharedPtr<Aspose::BarCode::BarCodeRecognition::BaseDecodeType>>({ DecodeType::Code39Standard, DecodeType::Pdf417 });

// BarCodeReader를 초기화하고 루프에서 Read() 메서드를 호출하고 코드 텍스트 및 기호 유형을 표시합니다.
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();

결론

이 기사에서는 C++를 사용하여 다양한 기호로 바코드를 생성하는 방법을 배웠습니다. 또한 C++ 코드 샘플과 함께 바코드를 스캔하고 읽는 절차도 설명합니다. 문서를 사용하여 API에 대해 자세히 알아볼 수 있습니다.

또한보십시오