ในบทความนี้ ฉันจะสาธิตวิธีสร้างบาร์โค้ดโดยใช้โปรแกรมโดยใช้ C++ คุณจะได้เรียนรู้วิธีใช้เครื่องสแกนบาร์โค้ดหรือเครื่องอ่านภายในแอปพลิเคชัน C++ ของคุณ

สร้างบาร์โค้ดใน C++

บาร์โค้ดใช้เพื่อแสดงข้อมูลในรูปแบบที่เครื่องอ่านได้ เทคโนโลยีดังกล่าวได้รับการพิสูจน์แล้วว่ามีประโยชน์โดยเฉพาะในระบบชำระเงินอัตโนมัติที่ใช้ในร้านค้าและซูเปอร์มาร์เก็ต เกือบทุกผลิตภัณฑ์ในตลาดปัจจุบันมีบาร์โค้ดอยู่ ความนิยมอย่างแพร่หลายของบาร์โค้ดนี้ได้ขยายกรณีการใช้งานไปยังโดเมนต่างๆ เฝ้าติดตามความสำคัญของบาร์โค้ด เมื่อไม่กี่ปีที่ผ่านมา Aspose ได้เปิดตัวเครื่องสร้างบาร์โค้ดและ API ตัวอ่านสำหรับแพลตฟอร์มต่างๆ บทความนี้มีวัตถุประสงค์เพื่อแสดงวิธีการติดตั้งเครื่องสร้างบาร์โค้ดและเครื่องอ่านภายในแอปพลิเคชัน C++ เพื่อสร้างและอ่านบาร์โค้ดแบบไดนามิก

เครื่องสร้างบาร์โค้ด C++ และ Reader API

Aspose.BarCode for C++ คือ API ของ C++ ที่มีคุณลักษณะหลากหลายสำหรับการสร้างและอ่านบาร์โค้ด 1D และ 2D จำนวนมาก ช่วยให้คุณสร้าง ปรับแต่ง และส่งออกบาร์โค้ดไปยังรูปภาพคุณภาพสูงได้ คุณสามารถดาวน์โหลดไฟล์ไลบรารีได้จากส่วน ดาวน์โหลด แพ็คเกจที่ดาวน์โหลดได้ยังมีแอปพลิเคชัน C++ สาธิตสำหรับคุณด้วย

ต่อไปนี้คือรายการสัญลักษณ์บาร์โค้ดที่คุณสามารถสร้างได้โดยใช้ Aspose.BarCode for C++:

  • รหัส128
  • รหัส 39 มาตรฐาน
  • Code39 ขยาย
  • รหัส 93 มาตรฐาน
  • Code93 ขยาย
  • รหัส11
  • โคดาบาร์
  • บุ๊คแลนด์EAN
  • EAN13
  • EAN8
  • EAN128
  • Interleaved2of5
  • Standard2of5
  • เอ็มเอสไอ
  • โพสต์เน็ต
  • ดาวเคราะห์
  • ยูพีเอ
  • ยูพีอี
  • EAN14(สคท.14)
  • สสค.18
  • ไอทีเอฟ14
  • ส่วนเสริมบาร์โค้ด
  • Pdf417
  • คิวอาร์
  • ดาต้าเมทริกซ์
  • เมทริกซ์ 2 จาก 5
  • PZN (Pharma Zentral Nummer, บาร์โค้ด Pharmazentralnummer)
  • รหัสประจำตัวของ Deutsche Post
  • แอซเท็ก
  • ไปรษณีย์ออสเตรเลีย

สร้างบาร์โค้ดโดยใช้ C++

การสร้างบาร์โค้ดโดยใช้ Aspose.BarCode สามารถทำได้ภายในสองสามบรรทัดของโค้ด ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • สร้างวัตถุของคลาส BarcodeGenerator
  • เริ่มต้นวัตถุด้วยประเภทการเข้ารหัสของบาร์โค้ดและข้อความ
  • สร้างบาร์โค้ดโดยใช้เมธอด BarcodeGenerator->Save(System::String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างบาร์โค้ดโดยใช้ 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);

ต่อไปนี้คือบาร์โค้ดที่เราสร้างขึ้นโดยใช้รหัสด้านบน

สร้างบาร์โค้ด 2 มิติ (QR หรืออื่นๆ) โดยใช้ C++

ในตัวอย่างก่อนหน้านี้ เราได้สร้างบาร์โค้ดหนึ่งมิติ ตอนนี้มาสร้างบาร์โค้ดสองมิติ เช่น คิวอาร์โค้ด ต่อไปนี้เป็นขั้นตอนในการสร้างบาร์โค้ด QR

  • สร้างวัตถุของคลาส BarcodeGenerator
  • เริ่มต้นวัตถุด้วยประเภท EncodeTypes::QR และตั้งค่าข้อความ
  • สร้างภาพบาร์โค้ดโดยใช้เมธอด BarcodeGenerator->Save(System::String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างบาร์โค้ด QR โดยใช้ C++

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++

คุณยังสามารถปรับแต่งรูปลักษณ์ของบาร์โค้ดได้อีกด้วย ตัวอย่างเช่น คุณสามารถตั้งค่าสีพื้นหน้า สีพื้นหลัง ขนาด รูปแบบเส้นขอบ และอื่นๆ ต่อไปนี้กินขั้นตอนในการปรับแต่งบาร์โค้ดโดยใช้ Aspose.BarCode for C++

  • สร้างและเริ่มต้นวัตถุของคลาส 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, Call 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 ได้โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย