Click or drag to resize

DriverPrinterConnection Class

Establishes a USB connection to a printer.
Inheritance Hierarchy
SystemObject
  Zebra.Sdk.CommConnectionA
    Zebra.Sdk.CommDriverPrinterConnection

Namespace: Zebra.Sdk.Comm
Assembly: SdkApi.Desktop (in SdkApi.Desktop.dll) Version: 3.0.3271
Syntax
public class DriverPrinterConnection : ConnectionA, 
	IDisposable

The DriverPrinterConnection type exposes the following members.

Constructors
 NameDescription
Public methodDriverPrinterConnection(String) Initializes a new instance of the DriverPrinterConnection class.
Public methodDriverPrinterConnection(String, Int32, Int32) Initializes a new instance of the DriverPrinterConnection class.
Top
Properties
 NameDescription
Public propertyConnected Returns true if the connection is open.
(Inherited from ConnectionA)
Public propertyManufacturer See the classes which implement this property for the format of the printer manufacturer string.
(Inherited from ConnectionA)
Public propertyMaxDataToWrite Gets or sets the maximum number of bytes to write at one time
(Inherited from ConnectionA)
Public propertyMaxTimeoutForRead Gets or sets the maximum time, in milliseconds, to wait for any data to be received.
(Inherited from ConnectionA)
Public propertyMultipartTimeToWaitAfterSend
(Inherited from ConnectionA)
Public propertyPrinterName Returns the name of the printer.
Public propertySimpleConnectionName Return the printer name as the description.
(Overrides ConnectionASimpleConnectionName)
Public propertyTimeToWaitForMoreData Gets or sets the maximum time, in milliseconds, to wait in-between reads after the initial read.
(Inherited from ConnectionA)
Top
Methods
 NameDescription
Public methodAddWriteLogStream Sets the stream to log the write data to.
(Inherited from ConnectionA)
Public methodBytesAvailable Returns an estimate of the number of bytes that can be read from this connection without blocking.
(Overrides ConnectionABytesAvailable)
Public methodClose Closes this connection and releases any system resources associated with the connection.
(Overrides ConnectionAClose)
Public methodDispose Releases all resources used by the DriverPrinterConnection
Public methodEquals
(Inherited from Object)
Public methodGetConnectionReestablisher Returns a ConnectionReestablisher which allows for easy recreation of a connection which may have been closed.
(Overrides ConnectionAGetConnectionReestablisher(Int64))
Public methodGetHashCode
(Inherited from Object)
Public methodGetType
(Inherited from Object)
Public methodOpen Opens the connection to a device.
(Overrides ConnectionAOpen)
Public methodRead Reads all the available data from the connection. This call is non-blocking.
(Overrides ConnectionARead)
Public methodRead(BinaryWriter) Reads all the available data from the connection.
(Inherited from ConnectionA)
Public methodRead(Int32) Reads maxBytesToRead of the available data from the connection.
(Inherited from ConnectionA)
Public methodRead(Int32, Boolean) Reads maxBytesToRead of the available data from the connection.
(Inherited from ConnectionA)
Public methodReadChar Reads the next byte of data from the connection.
(Overrides ConnectionAReadChar)
Public methodSendAndWaitForResponse(Byte, Int32, Int32, String) Sends dataToSend and returns the response data.
(Inherited from ConnectionA)
Public methodSendAndWaitForResponse(BinaryWriter, BinaryReader, Int32, Int32, String) Sends data from sourceStream and writes the response data to destinationStream.
(Inherited from ConnectionA)
Public methodSendAndWaitForValidResponse(Byte, Int32, Int32, ResponseValidator) Sends dataToSend and returns the response data.
(Inherited from ConnectionA)
Public methodSendAndWaitForValidResponse(BinaryWriter, BinaryReader, Int32, Int32, ResponseValidator) Sends data from sourceStream and writes the response data to destinationStream.
(Inherited from ConnectionA)
Public methodSetReadTimeout Sets the underlying read timeout value.
(Inherited from ConnectionA)
Public methodToString Returns USB:[PrinterName].
(Overrides ConnectionAToString)
Public methodWaitForData Causes the currently executing thread to sleep until BytesAvailable > 0, or for a maximum of maxTimeout milliseconds.
(Inherited from ConnectionA)
Public methodWrite(BinaryReader) Writes all available bytes from the data source to this output stream.
(Inherited from ConnectionA)
Public methodWrite(Byte) Writes data.Length bytes from the specified byte array to this output stream.
(Inherited from ConnectionA)
Public methodWrite(Byte, Int32, Int32) Writes length bytes from data starting at offset.
(Overrides ConnectionAWrite(Byte, Int32, Int32))
Top
Remarks
This class is only supported on Windows PC platforms.
Example
C#
using System;
using System.Text;
using Zebra.Sdk.Comm;

public class DriverPrinterConnectionExample {

    public static void Main(string[] args) {
        DriverPrinterConnectionExample example = new DriverPrinterConnectionExample();

        example.SendZplOverUsb("ZDesigner QLn320");
        example.SendCpclOverUsb("ZDesigner QLn320");
    }

    private void SendZplOverUsb(string printerName) {
        // Instantiate connection for ZPL USB port for given printer name
        Connection thePrinterConn = new DriverPrinterConnection(printerName);

        try {
            // Open the connection - physical connection is established here.
            thePrinterConn.Open();

            // This example prints "This is a ZPL test." near the top of the label.
            string zplData = "^XA^FO20,20^A0N,25,25^FDThis is a ZPL test.^FS^XZ";

            // Send the data to printer as a byte array.
            thePrinterConn.Write(Encoding.UTF8.GetBytes(zplData));
        } catch (ConnectionException e) {
            // Handle communications error here.
            Console.WriteLine(e.ToString());
        } finally {
            // Close the connection to release resources.
            thePrinterConn.Close();
        }
    }

    private void SendCpclOverUsb(string printerName) {
        // Instantiate connection for CPCL USB port for given printer name
        Connection thePrinterConn = new DriverPrinterConnection(printerName);

        try {
            // Open the connection - physical connection is established here.
            thePrinterConn.Open();

            // This example prints "This is a CPCL test." near the top of the label.
            string cpclData = "! 0 200 200 210 1\r\n" + "TEXT 4 0 30 40 This is a CPCL test.\r\n" + "FORM\r\n" + "PRINT\r\n";

            // Send the data to printer as a byte array.
            thePrinterConn.Write(Encoding.UTF8.GetBytes(cpclData));
        } catch (ConnectionException e) {
            // Handle communications error here.
            Console.WriteLine(e.ToString());
        } finally {
            // Close the connection to release resources.
            thePrinterConn.Close();
        }
    }
}
See Also