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