←Select platform

BarcodeWriteQr Class

Summary

This class contains QR barcode information for writing QR barcodes.

Syntax

C#
VB
C++
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="BarcodeWriteQr")] 
public class BarcodeWriteQr 
  
<DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="BarcodeWriteQr")> 
Public Class BarcodeWriteQr  
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="BarcodeWriteQr")] 
public ref class BarcodeWriteQr  

Remarks

The QR standard specifies 40 different sizes of the QR code and the maximum data capacity will vary depending on the size and Error Correction level. The table below lists the maximum data capacity for each ECC level and encoding scheme.

For a table containing information useful when writing QR barcode data see https://www.leadtools.com/sdk/barcode/qr-chart.

Example

C#
VB
using Leadtools.Services; 
using Leadtools.Services.Barcode.ServiceContracts; 
using Leadtools.Services.Barcode.ServiceImplementations; 
 
byte[] ConvertFromStringArray(string[] data) 
{ 
   if (data == null || data.Length == 0) 
      return null; 
 
   List<byte[]> list = new List<byte[]>(); 
   ASCIIEncoding ascii = new ASCIIEncoding(); 
 
   int length = 0; 
   for (int i = 0; i < data.Length; i++) 
   { 
      byte[] bytes = ascii.GetBytes(data[i]); 
      list.Add(bytes); 
      length += bytes.Length; 
      length++; 
   } 
 
   byte[] ret = new byte[length]; 
   int index = 0; 
   for (int i = 0; i < list.Count; i++) 
   { 
      byte[] bytes = list[i]; 
      bytes.CopyTo(ret, index); 
      index += bytes.Length + 1; 
   } 
 
   return ret; 
} 
 
public void BarcodeWriteQrExample() 
{ 
   BarcodeServiceClient client = new BarcodeServiceClient(); 
 
   RawBinaryData sourceBinaryData = new RawBinaryData(); 
   sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "barcode1.tif")); 
 
   RasterConvertOptions convertOptions = new RasterConvertOptions(); 
   convertOptions.Source = sourceBinaryData; 
   convertOptions.Destination = null; 
   convertOptions.Format = RasterImageFormat.RasPdf; 
   convertOptions.FirstPage = 1; 
   convertOptions.LastPage = 1; 
   convertOptions.BitsPerPixel = 24; 
   convertOptions.QualityFactor = 2; 
 
   LeadRectangle rc = new LeadRectangle(); 
   rc.X = 100; 
   rc.Y = 100; 
   rc.Width = 0; 
   rc.Height = 0; 
 
   string[] barcodeText; 
   barcodeText = new string[1]; 
   barcodeText[0] = "QR Default Size"; 
 
   BarcodeData data = new BarcodeData(); 
   data.Location = rc; 
 
   data.Data = ConvertFromStringArray(barcodeText); 
 
   BarcodeColor barColor = new BarcodeColor(); 
   barColor.BarColor = "Black"; 
   barColor.SpaceColor = "White"; 
 
   Barcode1d bar1d = new Barcode1d(); 
   BarcodeWritePdf barPDF = new BarcodeWritePdf(); 
   BarcodeWriteDatamatrix barDM = new BarcodeWriteDatamatrix(); 
 
   BarcodeWriteQr barQR = new BarcodeWriteQr(); 
   barQR.EccLevel = BarcodeQrEccLevel.LevelL; 
   barQR.GroupNumber = 0; 
   barQR.GroupTotal = 0; 
   barQR.Justify = BarcodeJustifyFlags.Right; 
   barQR.XModule = 0; 
 
   WriteOptions options = new WriteOptions(); 
 
   WriteBarcode2DQr qr = new WriteBarcode2DQr(); 
   qr.Type = WriteBarcode2DQrType.Default; 
   qr.Data = data; 
 
   options.Add(qr); 
 
   WriteRequest request = new WriteRequest(); 
 
   request.Code1d = bar1d; 
   request.CodeColor = barColor; 
   request.CodeDatamatrix = barDM; 
   request.CodePdf = barPDF; 
   request.CodeQr = barQR; 
   request.ConvertOptions = convertOptions; 
   request.TypeFlags = BarcodeMajorTypeFlags.BarcodesDatamatrixWrite; 
   request.Unit = BarcodeUnit.ScanlinesPerPixels; 
   request.WriteFlags = BarcodeWriteFlags.UseColors | BarcodeWriteFlags.Transparent | BarcodeWriteFlags.InitializationReader | BarcodeWriteFlags.DisableCompression; 
   request.WriteOptions = options; 
 
   WriteResponse response = client.Write(request); 
 
   if (response.Destination != null) 
   { 
      File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "BarcodeWriteQR.Pdf"), (response.Destination as RawBinaryData).Data); 
   } 
 
   client.Close(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.Services 
Imports Leadtools.Services.Barcode.ServiceContracts 
Imports Leadtools.Services.Barcode.ServiceImplementations 
 
Private Function ConvertFromStringArray(ByVal data As String()) As Byte() 
   If data Is Nothing OrElse data.Length = 0 Then 
      Return Nothing 
   End If 
 
   Dim list As New List(Of Byte()) 
   Dim ascii As ASCIIEncoding = New ASCIIEncoding() 
 
   Dim length As Integer = 0 
   Dim i As Integer = 0 
   Do While i < data.Length 
      Dim bytes As Byte() = ascii.GetBytes(data(i)) 
      list.Add(bytes) 
      length += bytes.Length 
      length += 1 
      i += 1 
   Loop 
 
   Dim ret As Byte() = New Byte(length - 1) {} 
   Dim index As Integer = 0 
   i = 0 
   Do While i < list.Count 
      Dim bytes As Byte() = list(i) 
      bytes.CopyTo(ret, index) 
      index += bytes.Length + 1 
      i += 1 
   Loop 
 
   Return ret 
End Function 
 
Public Sub BarcodeWriteQrExample() 
   Dim client As BarcodeServiceClient = New BarcodeServiceClient() 
 
   Dim sourceBinaryData As RawBinaryData = New RawBinaryData() 
   sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "barcode1.tif")) 
 
   Dim convertOptions As RasterConvertOptions = New RasterConvertOptions() 
   convertOptions.Source = sourceBinaryData 
   convertOptions.Destination = Nothing 
   convertOptions.Format = RasterImageFormat.RasPdf 
   convertOptions.FirstPage = 1 
   convertOptions.LastPage = 1 
   convertOptions.BitsPerPixel = 24 
   convertOptions.QualityFactor = 2 
 
   Dim rc As LeadRectangle = New LeadRectangle() 
   rc.X = 100 
   rc.Y = 100 
   rc.Width = 0 
   rc.Height = 0 
 
   Dim barcodeText As String() 
   barcodeText = New String(0) {} 
   barcodeText(0) = "QR Default Size" 
 
   Dim data As BarcodeData = New BarcodeData() 
   data.Location = rc 
 
   data.Data = ConvertFromStringArray(barcodeText) 
 
   Dim barColor As BarcodeColor = New BarcodeColor() 
   barColor.BarColor = "Black" 
   barColor.SpaceColor = "White" 
 
   Dim bar1d As Barcode1d = New Barcode1d() 
   Dim barPDF As BarcodeWritePdf = New BarcodeWritePdf() 
   Dim barDM As BarcodeWriteDatamatrix = New BarcodeWriteDatamatrix() 
 
   Dim barQR As BarcodeWriteQr = New BarcodeWriteQr() 
   barQR.EccLevel = BarcodeQrEccLevel.LevelL 
   barQR.GroupNumber = 0 
   barQR.GroupTotal = 0 
   barQR.Justify = BarcodeJustifyFlags.Right 
   barQR.XModule = 0 
 
   Dim options As WriteOptions = New WriteOptions() 
 
   Dim qr As WriteBarcode2DQr = New WriteBarcode2DQr() 
   qr.Type = WriteBarcode2DQrType.Default 
   qr.Data = data 
 
   options.Add(qr) 
 
   Dim request As WriteRequest = New WriteRequest() 
 
   request.Code1d = bar1d 
   request.CodeColor = barColor 
   request.CodeDatamatrix = barDM 
   request.CodePdf = barPDF 
   request.CodeQr = barQR 
   request.ConvertOptions = convertOptions 
   request.TypeFlags = BarcodeMajorTypeFlags.BarcodesDatamatrixWrite 
   request.Unit = BarcodeUnit.ScanlinesPerPixels 
   request.WriteFlags = BarcodeWriteFlags.UseColors Or BarcodeWriteFlags.Transparent Or BarcodeWriteFlags.InitializationReader Or BarcodeWriteFlags.DisableCompression 
   request.WriteOptions = options 
 
   Dim response As WriteResponse = client.Write(request) 
 
   If Not response.Destination Is Nothing Then 
      File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "BarcodeWriteQR.Pdf"), (TryCast(response.Destination, RawBinaryData)).Data) 
   End If 
 
   client.Close() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Services.Barcode.DataContracts Assembly