VintaSoft Barcode .NET SDK-ն Windows-ի, Linux-ի, macOS-ի համար նախատեսված պրոֆեսիոնալ խաչաձև հարթակային SDK է, որը թույլ է տալիս ճանաչել և ստեղծել QR կոդ շտրիխ կոդեր .NET, WPF, Web, MAUI համակարգերում: Ձեզ անհրաժեշտ է ընդամենը մի քանի տող կոդ՝ ձեր .NET հավելվածին QR կոդ շտրիխ կոդեր ճանաչելու և ստեղծելու հնարավորություն ավելացնելու համար:
Ի՞նչ է QR կոդ շտրիխ կոդը:
QR կոդը երկչափ մատրիցային շտրիխ կոդ է, որը աշխարհում ամենատարածված երկչափ շտրիխ կոդն է: Այս շտրիխ կոդի անվանումը արտացոլում է դրա մշակման գաղափարը՝ "Արագ արձագանք", արագ ճանաչում թեքության կամայական անկյան տակ: QR կոդի շտրիխ կոդի տարբերակիչ առանձնահատկությունը հստակ տարբերակվող որոնման ձևերն են՝ շտրիխ կոդի անկյուններում սև քառակուսիները՝
QR կոդի շտրիխ կոդի առանձնահատկությունները
Բոլոր ժամանակակից արտադրողներն օգտագործում են QR կոդի շտրիխ կոդեր, որոնք նկարագրված են ISO/IEC 18004 ստանդարտում: AIM ITS/97-001 ստանդարտը նկարագրում է QR կոդի մոդել 1-ը, որը շտրիխ կոդի հնացած տարբերակ է, որի օգտագործումը խորհուրդ չի տրվում:
QR կոդի շտրիխ կոդը կարող է պահպանել տարբեր տեսակի խառը տվյալներ չորս կոդավորման ռեժիմներով՝
- Տառատեսակային (մինչև 4296 սիմվոլ)
- Բայթ (մինչև 2953 բայթ)
- Թվային (մինչև 7089 նիշ)
- Կանջի (մինչև 1817 սիմվոլ)
QR կոդի շտրիխ կոդը օգտագործում է Ռիդ-Սոլոմոնի սխալի ուղղման ալգորիթմը, որը թույլ է տալիս ճանաչել վնասված շտրիխ կոդերը: Շտրիխ կոդ ստեղծելիս ընտրվում է սխալի ուղղման 4 մակարդակներից մեկը՝ կախված օգտագործման սպասվող պայմաններից. որքան բարձր է սխալի ուղղման մակարդակը, այնքան քիչ տվյալներ կարող են տեղադրվել շտրիխ կոդում:
Շտրիխ կոդի մատրիցայի կառուցվածքը
QR և Micro QR շտրիխ կոդի մատրիցներն ունեն հետևյալ կառուցվածքը՝
- Հանգիստ գոտի
- Որոնման կաղապարներ
- Տեղեկատվություն ձևաչափի մասին
- Ժամանակային ձևաչափեր
- Հավասարեցման կաղապարներ
- Տվյալների և սխալների ուղղման շերտ
Ի՞նչ է Micro QR շտրիխ կոդը։
Micro QR շտրիխ կոդը QR կոդի շտրիխ կոդի կոմպակտ տարբերակն է։ Micro QR շտրիխ կոդը սովորաբար օգտագործվում է փոքր փաթեթները նշելու համար՝
Micro QR շտրիխ կոդն ունի միայն մեկ որոնման կաղապար։ Այս շտրիխ կոդում տվյալների քանակը շատ սահմանափակ է՝
- Տառատեսակային (մինչև 21 սիմվոլ)
- Բայթ (մինչև 15 բայթ)
- Թվային (մինչև 35 նիշ)
- Կանջի (մինչև 9 սիմվոլ)
Ի՞նչ է "GS1 QR" շտրիխ կոդը։
"GS1 QR" շտրիխ կոդը QR շտրիխ կոդ է, որը պահպանում է արժեքը GS1 համակարգի տվյալների ձևաչափով:
VintaSoft Barcode .NET SDK-ն կարող է ստեղծել և ճանաչել "GS1 QR" շտրիխ կոդերը:
Ահա "GS1 QR" շտրիխ կոդի պատկերը՝
Ի՞նչ է "GS1 թվային հղում QR" շտրիխ կոդը։
"GS1 Digital Link QR" շտրիխ կոդը QR շտրիխ կոդ է, որը պահպանում է արժեքը GS1 Digital Link ձևաչափով:
VintaSoft Barcode .NET SDK-ն կարող է ստեղծել և ճանաչել "GS1 Digital Link QR" շտրիխ կոդերը:
Ահա "GS1 թվային հղում QR" շտրիխ կոդի պատկերը՝
Ի՞նչ է "XFA սեղմված QR" շտրիխ կոդը։
"XFA Compressed QR" շտրիխ կոդը QR շտրիխ կոդ է, որը պահպանում է Adobe XFA սպեցիֆիկացիայի համաձայն սեղմված տվյալներ։
VintaSoft Barcode .NET SDK-ն կարող է ստեղծել և ճանաչել "XFA Compressed QR" շտրիխ կոդերը։
Ահա "XFA սեղմված QR" շտրիխկոդի պատկերը՝
Ի՞նչ է "շվեյցարական QR կոդ" շտրիխ կոդը։
"Շվեյցարական QR Code" շտրիխ կոդը QR շտրիխ կոդի ենթաբազմություն է, որն օգտագործվում է հաշիվ-ապրանքագրերի համար Շվեյցարիայում և Լիխտենշտեյնում 2022 թվականի հոկտեմբերի 1-ից:
VintaSoft Barcode .NET SDK-ն կարող է ստեղծել և ճանաչել "Շվեյցարական QR Code" շտրիխ կոդերը:
Ահա "Շվեյցարական QR Code" շտրիխ կոդի պատկերը՝
Ի՞նչ է "HIBC LIC QR Code" շտրիխ կոդը։
"HIBC LIC QR Code" շտրիխ կոդը QR կոդի շտրիխ կոդի ենթաբազմություն է, որն օգտագործվում է բժշկական սարքերի UDI համապատասխանության, արտադրողների, ապրանքների և խմբաքանակների նույնականացման համար։VintaSoft Barcode .NET SDK-ն կարող է ստեղծել և ճանաչել "HIBC LIC QR Code" շտրիխ կոդերը։
Ահա "HIBC LIC QR Code" շտրիխ կոդի պատկերը.
Հատուկ "Կառուցվածքի հավելում" խորհրդանիշ
QR կոդի շտրիխ կոդը աջակցում է հատուկ նշան, որը կոչվում է
"Structure append", որը թույլ է տալիս բաժանել տվյալները մի քանի QR կոդի շտրիխ կոդերի: Նշանը կոդավորված է շտրիխ կոդում և թույլ է տալիս հստակ որոշել շտրիխ կոդի մասերի քանակը և դրանց հերթականությունը: Այս գործառույթը կարող է օգտագործվել երկարավուն տարածքը նշելու կամ տվյալների մեծ զանգված տեղադրելու համար:
VintaSoft Barcode .NET SDK-ն թույլ է տալիս բաժանել տվյալները և ստեղծել մի քանի QR կոդի շտրիխ կոդեր, որոնք կապված են "Կառուցվածքի հավելում" խորհրդանիշով։ SDK-ն նաև պարունակում է ալգորիթմ՝ "Կառուցվածքի հավելում" խորհրդանիշով բաժանված QR կոդերի շտրիխ կոդերի հավաքածուից տվյալները վերականգնելու համար։
Ի՞նչ QR կոդի շտրիխ կոդեր կարող է ճանաչել VintaSoft Barcode .NET SDK-ն։
VintaSoft Barcode .NET SDK-ն ճանաչում է QR և Micro QR շտրիխ կոդերի բոլոր տեսակները։ Ճանաչման համար օգտագործվում են եզակի ալգորիթմներ, որոնք թույլ են տալիս արագորեն ճանաչել տարբեր խնդիրներ ունեցող շտրիխ կոդերը՝
- վնասված մատրից
- ցածր կոնտրաստ
- ցածր մոդուլյացիա
- անհավասար լուսավորություն
- սեղմում մեկ կողմում
- տարածական աղավաղումներ
- աղավաղված մակերեսի վրա տպված շտրիխ կոդ
- մեծ քանակությամբ շտրիխ կոդեր մեկ պատկերում
Ահա C# կոդ, որը ցույց է տալիս, թե ինչպես ճանաչել QR կոդի շտրիխ կոդերը տեսախցիկից ստացված պատկերում.
/// <summary>
/// Reads QR Code barcodes from a <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="bitmap">A bitmap with barcodes.</param>
public static void ReadQRCodeBarcodesFromBitmap(System.Drawing.Bitmap bitmap)
{
// create barcode reader
using (Vintasoft.Barcode.BarcodeReader reader = new Vintasoft.Barcode.BarcodeReader())
{
// specify that reader must search for QR Code barcodes
reader.Settings.ScanBarcodeTypes = Vintasoft.Barcode.BarcodeType.QR;
// read barcodes from image
Vintasoft.Barcode.IBarcodeInfo[] infos = Vintasoft.Barcode.GdiExtensions.ReadBarcodes(reader, bitmap);
// if barcodes are not detected
if (infos.Length == 0)
{
System.Console.WriteLine("No barcodes found.");
}
// if barcodes are detected
else
{
// get information about extracted barcodes
System.Console.WriteLine(string.Format("{0} barcodes found:", infos.Length));
System.Console.WriteLine();
for (int i = 0; i < infos.Length; i++)
{
Vintasoft.Barcode.IBarcodeInfo info = infos[i];
System.Console.WriteLine(string.Format("[{0}:{1}]", i + 1, info.BarcodeType));
System.Console.WriteLine(string.Format("Value: {0}", info.Value));
System.Console.WriteLine(string.Format("Region: {0}", info.Region));
System.Console.WriteLine();
}
}
}
}
Ի՞նչ QR կոդի շտրիխ կոդեր կարող է ստեղծել VintaSoft Barcode .NET SDK-ն:
VintaSoft Barcode .NET SDK-ն ստեղծում է բոլոր տեսակի QR և Micro QR շտրիխ կոդեր:
Ահա C# կոդ, որը ցույց է տալիս, թե ինչպես ստեղծել QR կոդի շտրիխ կոդի ռաստրային պատկեր.
/// <summary>
/// Returns the QR Code barcode as <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="value">The barcode value.</param>
/// <returns>A <see cref="System.Drawing.Bitmap"/> object.</returns>
public static System.Drawing.Bitmap GetQRCodeBarcodeAsBitmap(string value)
{
// create the barcode writer
using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
{
// set barcode writer settings
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.QR;
barcodeWriter.Settings.Value = value;
// get a barcode image as System.Drawing.Bitmap
return Vintasoft.Barcode.GdiExtensions.GetBarcodeAsBitmap(barcodeWriter);
}
}
Ահա C# կոդ, որը ցույց է տալիս, թե ինչպես ստեղծել Micro QR շտրիխ կոդի ռաստրային պատկեր.
/// <summary>
/// Returns the Micro QR barcode as <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="value">The barcode value.</param>
/// <returns>A <see cref="System.Drawing.Bitmap"/> object.</returns>
public static System.Drawing.Bitmap GetMicroQRBarcodeAsBitmap(string value)
{
// create the barcode writer
using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
{
// set barcode writer settings
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.MicroQR;
barcodeWriter.Settings.Value = value;
// get a barcode image as System.Drawing.Bitmap
return Vintasoft.Barcode.GdiExtensions.GetBarcodeAsBitmap(barcodeWriter);
}
}
Ահա C# կոդ, որը ցույց է տալիս, թե ինչպես ստեղծել QR կոդի շտրիխ կոդի վեկտորային (SVG) պատկեր.
/// <summary>
/// Returns the QR Code barcode in vector form as a SVG string.
/// </summary>
/// <param name="barcodeValue">Barcode value.</param>
public static void GetQrCodeBarcodeAsSvgString(string barcodeValue)
{
// create the barcode writer
using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
{
// set barcode writer settings
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.QR;
barcodeWriter.Settings.Value = barcodeValue;
// generate QR Code barcode as a SVG string
return barcodeWriter.GetBarcodeAsSvgFile();
}
}