LEADTOOLS WCF Barcode (Leadtools.Services.Barcode.DataContracts assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.31
WriteRequest Class
See Also  Members  
Leadtools.Services.Barcode.DataContracts Namespace : WriteRequest Class



The WriteRequest Class is available in LEADTOOLS Document and Medical Imaging toolkits.

The WriteRequest object provides options for the Leadtools.Services.Barcode.ServiceContracts.IBarcodeService.Write operation.

Object Model

WriteRequest ClassBarcode1d ClassBarcodeColor ClassBarcodeWriteDatamatrix ClassBarcodeWritePdf ClassBarcodeWriteQr ClassWriteOptions ClassWriteOption Class

Syntax

Visual Basic (Declaration) 
<DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="WriteRequest")>
Public Class WriteRequest 
Visual Basic (Usage)Copy Code
Dim instance As WriteRequest
C# 
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="WriteRequest")]
public class WriteRequest 
C++/CLI 
[DataContractAttribute(Namespace="http://Leadtools.Services.Barcode.DataContracts/2009/01", Name="WriteRequest")]
public ref class WriteRequest 

Example

Visual BasicCopy Code
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 WriteExample()
      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 = 0
      rc.Width = 0
      rc.Height = 0

      Dim barcodeText As String()
      barcodeText = New String(0) {}

      Dim matrixData As BarcodeData = New BarcodeData()
      matrixData.Location = rc
      barcodeText(0) = "Data Matrix Default Size"
      matrixData.Data = ConvertFromStringArray(barcodeText)

      Dim postData As BarcodeData = New BarcodeData()
      rc.X = 50
      rc.Y = 50
      rc.Width = 300
      rc.Height = 200
      postData.Location = rc
      barcodeText(0) = "12345678901"
      postData.Data = ConvertFromStringArray(barcodeText)

      Dim standardData As BarcodeData = New BarcodeData()
      rc.X = 360
      rc.Y = 50
      rc.Width = 300
      rc.Height = 250
      standardData.Location = rc
      barcodeText(0) = "012345678901"
      standardData.Data = ConvertFromStringArray(barcodeText)

      Dim patchData As BarcodeData = New BarcodeData()
      rc.X = 660
      rc.Y = 50
      rc.Width = 200
      rc.Height = 450
      patchData.Location = rc
      barcodeText(0) = "1100"
      patchData.Data = ConvertFromStringArray(barcodeText)

      Dim stackedData As BarcodeData = New BarcodeData()
      rc.X = 860
      rc.Y = 50
      rc.Width = 300
      rc.Height = 450
      patchData.Location = rc
      stackedData.Location = rc
      barcodeText(0) = "1234567890123"
      stackedData.Data = ConvertFromStringArray(barcodeText)

      Dim pdf417Data As BarcodeData = New BarcodeData()
      rc.X = 50
      rc.Y = 400
      rc.Width = 0
      rc.Height = 0
      pdf417Data.Location = rc
      barcodeText(0) = "Pdf417"
      pdf417Data.Data = ConvertFromStringArray(barcodeText)

      Dim microPdf417Data As BarcodeData = New BarcodeData()
      rc.X = 200
      rc.Y = 600
      rc.Width = 0
      rc.Height = 0
      microPdf417Data.Location = rc
      barcodeText(0) = "Micro Pdf417"
      microPdf417Data.Data = ConvertFromStringArray(barcodeText)

      Dim qrData As BarcodeData = New BarcodeData()
      rc.X = 200
      rc.Y = 400
      rc.Width = 0
      rc.Height = 0
      qrData.Location = rc
      barcodeText(0) = "QR Code Model 2 AutoSize"
      qrData.Data = ConvertFromStringArray(barcodeText)

      Dim barColor As BarcodeColor = New BarcodeColor()
      barColor.BarColor = "Black"
      barColor.SpaceColor = "White"

      Dim bar1d As Barcode1d = New Barcode1d()
      bar1d.OutShowText = True

      Dim barPDF As BarcodeWritePdf = New BarcodeWritePdf()
      barPDF.AspectHeight = 0
      barPDF.AspectWidth = 0
      barPDF.Columns = 0
      barPDF.Rows = 0
      barPDF.EccLevel = BarcodePdf417EccLevelFlags.UsePercent
      barPDF.EccPercentage = 50
      barPDF.Justify = BarcodeJustifyFlags.Right
      barPDF.Module = 21
      barPDF.ModAspectRatio = 4

      Dim barDM As BarcodeWriteDatamatrix = New BarcodeWriteDatamatrix()

      barDM.Justify = BarcodeJustifyFlags.Right
      barDM.FileIdHigh = 0
      barDM.FileIdLow = 0
      barDM.GroupNumber = 0
      barDM.GroupTotal = 0
      barDM.XModule = 0

      Dim barQR As BarcodeWriteQr = New BarcodeWriteQr()

      Dim options As WriteOptions = New WriteOptions()
      Dim dataMatrix As WriteBarcode2DDataMatrix = New WriteBarcode2DDataMatrix()
      dataMatrix.Type = WriteBarcode2DDataMatrixType.DatamatrixDefault
      dataMatrix.Data = matrixData

      options.Add(dataMatrix)

      Dim standard As WriteBarcode1dStandard = New WriteBarcode1dStandard()
      standard.Type = WriteBarcodeStandardFlags.Ean13
      standard.Data = standardData

      options.Add(standard)

      Dim post As WriteBarcode1dPost = New WriteBarcode1dPost()
      post.Type = WriteBarcode1dPostType.Planet
      post.Data = postData

      options.Add(post)

      Dim patch As WriteBarcode1dPatch = New WriteBarcode1dPatch()
      patch.Type = WriteBarcode1dPatchType.Patchcode
      patch.Data = patchData

      options.Add(patch)

      Dim stacked As WriteBarcode1dStacked = New WriteBarcode1dStacked()
      stacked.Type = WriteBarcode1dStackedType.Rss14Stacked
      stacked.Data = stackedData

      options.Add(stacked)

      Dim pdf417 As WriteBarcode2DPdf417 = New WriteBarcode2DPdf417()
      pdf417.Type = WriteBarcode2DPdf417Type.Pdf417
      pdf417.Data = pdf417Data

      options.Add(pdf417)

      Dim microPdf417 As WriteBarcode2DMicroPdf417 = New WriteBarcode2DMicroPdf417()
      microPdf417.Type = WriteBarcode2DMicroPdf417Type.MicroPdf417
      microPdf417.Data = microPdf417Data

      options.Add(microPdf417)

      Dim qr As WriteBarcode2DQr = New WriteBarcode2DQr()
      qr.Type = WriteBarcode2DQrType.Default
      qr.Data = qrData

      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
         If TypeOf response.Destination Is RawBinaryData Then
            File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "Write_Barcode.Pdf"), (TryCast(response.Destination, RawBinaryData)).Data)
         End If
      End If

      client.Close()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
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 WriteExample()
   {
      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 = 0;
      rc.Width = 0;
      rc.Height = 0;

      string[] barcodeText;
      barcodeText = new string[1];

      BarcodeData matrixData = new BarcodeData();
      matrixData.Location = rc;
      barcodeText[0] = "Data Matrix Default Size";
      matrixData.Data = ConvertFromStringArray(barcodeText);

      BarcodeData postData = new BarcodeData();
      rc.X = 50;
      rc.Y = 50;
      rc.Width = 300;
      rc.Height = 200;
      postData.Location = rc;
      barcodeText[0] = "12345678901";
      postData.Data = ConvertFromStringArray(barcodeText);

      BarcodeData standardData = new BarcodeData();
      rc.X = 360;
      rc.Y = 50;
      rc.Width = 300;
      rc.Height = 250;
      standardData.Location = rc;
      barcodeText[0] = "012345678901";
      standardData.Data = ConvertFromStringArray(barcodeText);

      BarcodeData patchData = new BarcodeData();
      rc.X = 660;
      rc.Y = 50;
      rc.Width = 200;
      rc.Height = 450;
      patchData.Location = rc;
      barcodeText[0] = "1100";
      patchData.Data = ConvertFromStringArray(barcodeText);

      BarcodeData stackedData = new BarcodeData();
      rc.X = 860;
      rc.Y = 50;
      rc.Width = 300;
      rc.Height = 450;
      patchData.Location = rc;
      stackedData.Location = rc;
      barcodeText[0] = "1234567890123";
      stackedData.Data = ConvertFromStringArray(barcodeText);

      BarcodeData pdf417Data = new BarcodeData();
      rc.X = 50;
      rc.Y = 400;
      rc.Width = 0;
      rc.Height = 0;
      pdf417Data.Location = rc;
      barcodeText[0] = "Pdf417";
      pdf417Data.Data = ConvertFromStringArray(barcodeText);

      BarcodeData qrData = new BarcodeData();
      rc.X = 200;
      rc.Y = 400;
      rc.Width = 0;
      rc.Height = 0;
      qrData.Location = rc;
      barcodeText[0] = "QR Code Model 2 AutoSize";
      qrData.Data = ConvertFromStringArray(barcodeText);

      BarcodeData microPdf417Data = new BarcodeData();
      rc.X = 200;
      rc.Y = 600;
      rc.Width = 0;
      rc.Height = 0;
      microPdf417Data.Location = rc;
      barcodeText[0] = "Micro Pdf417";
      microPdf417Data.Data = ConvertFromStringArray(barcodeText);

      BarcodeColor barColor = new BarcodeColor();
      barColor.BarColor = "Black";
      barColor.SpaceColor = "White";

      Barcode1d bar1d = new Barcode1d();
      bar1d.OutShowText = true;

      BarcodeWritePdf barPDF = new BarcodeWritePdf();
      barPDF.AspectHeight = 0;
      barPDF.AspectWidth = 0;
      barPDF.Columns = 0;
      barPDF.Rows = 0;
      barPDF.EccLevel = BarcodePdf417EccLevelFlags.UsePercent;
      barPDF.EccPercentage = 50;
      barPDF.Justify = BarcodeJustifyFlags.Right;
      barPDF.Module = 21;
      barPDF.ModAspectRatio = 4;

      BarcodeWriteDatamatrix barDM = new BarcodeWriteDatamatrix();

      barDM.Justify = BarcodeJustifyFlags.Right;
      barDM.FileIdHigh = 0;
      barDM.FileIdLow = 0;
      barDM.GroupNumber = 0;
      barDM.GroupTotal = 0;
      barDM.XModule = 0;

      BarcodeWriteQr barQR = new BarcodeWriteQr();

      WriteOptions options = new WriteOptions();
      WriteBarcode2DDataMatrix dataMatrix = new WriteBarcode2DDataMatrix();
      dataMatrix.Type = WriteBarcode2DDataMatrixType.DatamatrixDefault;
      dataMatrix.Data = matrixData;

      options.Add(dataMatrix);

      WriteBarcode1dStandard standard = new WriteBarcode1dStandard();
      standard.Type = WriteBarcodeStandardFlags.Ean13;
      standard.Data = standardData;

      options.Add(standard);

      WriteBarcode1dPost post = new WriteBarcode1dPost();
      post.Type = WriteBarcode1dPostType.Planet;
      post.Data = postData;

      options.Add(post);

      WriteBarcode1dPatch patch = new WriteBarcode1dPatch();
      patch.Type  = WriteBarcode1dPatchType.Patchcode;
      patch.Data = patchData;

      options.Add(patch);

      WriteBarcode1dStacked stacked = new WriteBarcode1dStacked();
      stacked.Type  = WriteBarcode1dStackedType.Rss14Stacked;
      stacked.Data = stackedData;

      options.Add(stacked);

      WriteBarcode2DPdf417 pdf417 = new WriteBarcode2DPdf417();
      pdf417.Type  = WriteBarcode2DPdf417Type.Pdf417;
      pdf417.Data = pdf417Data;

      options.Add(pdf417);

      WriteBarcode2DMicroPdf417 microPdf417 = new WriteBarcode2DMicroPdf417();
      microPdf417.Type = WriteBarcode2DMicroPdf417Type.MicroPdf417;
      microPdf417.Data = microPdf417Data;

      options.Add(microPdf417);

      WriteBarcode2DQr qr = new WriteBarcode2DQr();
      qr.Type  = WriteBarcode2DQrType.Default;
      qr.Data = qrData;

      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)
       {
          if (response.Destination is RawBinaryData)
          {
             File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir,"Write_Barcode.Pdf"), (response.Destination as RawBinaryData).Data);
          }
       }

      client.Close();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Inheritance Hierarchy

System.Object
   Leadtools.Services.Barcode.DataContracts.WriteRequest

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Applications developed with LEADTOOLS WCF components require runtime licenses. Server licensing is required for applications on a server. For more information, refer to: Imaging Pro/Document/Medical Features