У цій статті я покажу, як програмно генерувати штрих-коди за допомогою C++. Ви також дізнаєтеся, як запровадити сканер або зчитувач штрих-кодів у своїх програмах C++.
Штрих-коди використовуються для візуального представлення даних у машиночитаній формі. Зазначена технологія виявилася корисною, особливо в автоматизованих касових системах, розгорнутих у магазинах і супермаркетах. Майже кожен продукт на ринку сьогодні містить штрих-код. Ця широка популярність штрих-коду розширила його використання в різних областях. Слідкуючи за важливістю штрих-кодів, кілька років тому Aspose запустила API генератора штрих-кодів і зчитувача для різних платформ. Ця стаття має на меті продемонструвати, як реалізувати генератор і зчитувач штрих-кодів у програмах C++ для динамічного генерування та зчитування штрих-кодів.
- Згенеруйте штрих-код за допомогою C++
- Згенеруйте 2D штрих-код (QR або інший) за допомогою C++
- Створюйте штрих-коди з індивідуальним виглядом за допомогою C++
- Створіть штрих-коди з підписом за допомогою C++
- Сканування та читання штрих-кодів за допомогою C++
- Зчитування декількох символів штрих-кодів за допомогою C++
Генератор штрих-кодів C++ і API зчитування
Aspose.BarCode for C++ — це багатофункціональний C++ API для створення та зчитування безлічі 1D і 2D штрих-кодів. Він дозволяє створювати, налаштовувати та експортувати штрих-коди у високоякісні зображення. Ви можете завантажити файли бібліотеки з розділу Завантаження. Пакет для завантаження також містить демонстраційну програму C++ для вас.
Нижче наведено список символів штрих-кодів, які можна створити за допомогою Aspose.BarCode for C++:
- Код128
- Код39 Стандарт
- Code39 Розширений
- Стандарт Code93
- Code93 Розширений
- Код11
- Codabar
- BooklandEAN
- EAN13
- EAN8
- EAN128
- Interleaved2of5
- Стандарт 2 з 5
- MSI
- Postnet
- Планета
- UPCA
- UPCE
- EAN14 (SCC14)
- SSCC18
- ITF14
- Доповнення штрих-коду
- PDF417
- QR
- Datamatrix
- Матриця 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);
Нижче наведено штрих-код, який ми згенерували за допомогою коду вище.
Згенеруйте 2D штрих-код (QR або інший) за допомогою C++
У попередньому прикладі ми створили одновимірний штрих-код. Тепер створимо двовимірний штрих-код, наприклад QR-код. Нижче наведено кроки для створення штрих-коду 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, виклик методу 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 за допомогою документації.