LocalPrintServer Konstruktoren

Definition

Initialisiert eine neue Instanz der LocalPrintServer-Klasse.

Überlädt

Name Beschreibung
LocalPrintServer()

Initialisiert eine neue Instanz der LocalPrintServer-Klasse.

LocalPrintServer(LocalPrintServerIndexedProperty[])

Initialisiert eine neue Instanz der LocalPrintServer Klasse mit dem angegebenen LocalPrintServerIndexedProperty Array.

LocalPrintServer(PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der Klasse, die LocalPrintServer den angegebenen PrintSystemDesiredAccessWert aufweist.

LocalPrintServer(String[])

Initialisiert eine neue Instanz der LocalPrintServer Klasse mit den angegebenen Eigenschaften.

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der Klasse, die LocalPrintServer das angegebene LocalPrintServerIndexedProperty Array und das angegebene Array PrintSystemDesiredAccessaufweist.

LocalPrintServer(String[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer Klasse mit den angegebenen Eigenschaften und PrintSystemDesiredAccess.

LocalPrintServer()

Initialisiert eine neue Instanz der LocalPrintServer-Klasse.

public:
 LocalPrintServer();
public LocalPrintServer();
Public Sub New ()

Beispiele

Das folgende Beispiel zeigt, wie Sie diesen Konstruktor in Code verwenden, der die Funktionen eines Druckers testet und einen Druckauftrag konfiguriert, um sie zu nutzen.

// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
PrintTicket^ GetPrintTicketFromPrinter ()
{
   PrintQueue^ printQueue = nullptr;

   LocalPrintServer^ localPrintServer = gcnew LocalPrintServer();

   // Retrieving collection of local printer on user machine
   PrintQueueCollection^ localPrinterCollection = localPrintServer->GetPrintQueues();

   System::Collections::IEnumerator^ localPrinterEnumerator = localPrinterCollection->GetEnumerator();

   if (localPrinterEnumerator->MoveNext())
   {
      // Get PrintQueue from first available printer
      printQueue = ((PrintQueue^)localPrinterEnumerator->Current);
   } else
   {
      return nullptr;
   }
   // Get default PrintTicket from printer
   PrintTicket^ printTicket = printQueue->DefaultPrintTicket;

   PrintCapabilities^ printCapabilities = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilities->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilities->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilities->StaplingCapability->Contains(Stapling::StapleDualLeft))
   {
      printTicket->Stapling = Stapling::StapleDualLeft;
   }
   return printTicket;
};// end:GetPrintTicketFromPrinter()
// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
private PrintTicket GetPrintTicketFromPrinter()
{
    PrintQueue printQueue = null;

    LocalPrintServer localPrintServer = new LocalPrintServer();

    // Retrieving collection of local printer on user machine
    PrintQueueCollection localPrinterCollection =
        localPrintServer.GetPrintQueues();

    System.Collections.IEnumerator localPrinterEnumerator =
        localPrinterCollection.GetEnumerator();

    if (localPrinterEnumerator.MoveNext())
    {
        // Get PrintQueue from first available printer
        printQueue = (PrintQueue)localPrinterEnumerator.Current;
    }
    else
    {
        // No printer exist, return null PrintTicket
        return null;
    }

    // Get default PrintTicket from printer
    PrintTicket printTicket = printQueue.DefaultPrintTicket;

    PrintCapabilities printCapabilities = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilities.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilities.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft))
    {
        printTicket.Stapling = Stapling.StapleDualLeft;
    }

    return printTicket;
}// end:GetPrintTicketFromPrinter()
' ---------------------- GetPrintTicketFromPrinter -----------------------
''' <summary>
'''   Returns a PrintTicket based on the current default printer.</summary>
''' <returns>
'''   A PrintTicket for the current local default printer.</returns>
Private Function GetPrintTicketFromPrinter() As PrintTicket
    Dim printQueue As PrintQueue = Nothing

    Dim localPrintServer As New LocalPrintServer()

    ' Retrieving collection of local printer on user machine
    Dim localPrinterCollection As PrintQueueCollection = localPrintServer.GetPrintQueues()

    Dim localPrinterEnumerator As System.Collections.IEnumerator = localPrinterCollection.GetEnumerator()

    If localPrinterEnumerator.MoveNext() Then
        ' Get PrintQueue from first available printer
        printQueue = CType(localPrinterEnumerator.Current, PrintQueue)
    Else
        ' No printer exist, return null PrintTicket
        Return Nothing
    End If

    ' Get default PrintTicket from printer
    Dim printTicket As PrintTicket = printQueue.DefaultPrintTicket

    Dim printCapabilities As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilities.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilities.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Gilt für:

LocalPrintServer(LocalPrintServerIndexedProperty[])

Initialisiert eine neue Instanz der LocalPrintServer Klasse mit dem angegebenen LocalPrintServerIndexedProperty Array.

public:
 LocalPrintServer(cli::array <System::Printing::LocalPrintServerIndexedProperty> ^ propertiesFilter);
public LocalPrintServer(System.Printing.LocalPrintServerIndexedProperty[] propertiesFilter);
new System.Printing.LocalPrintServer : System.Printing.LocalPrintServerIndexedProperty[] -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As LocalPrintServerIndexedProperty())

Parameter

propertiesFilter
LocalPrintServerIndexedProperty[]

Ein Array von Eigenschaften, die der Konstruktor initialisiert.

Gilt für:

LocalPrintServer(PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der Klasse, die LocalPrintServer den angegebenen PrintSystemDesiredAccessWert aufweist.

public:
 LocalPrintServer(System::Printing::PrintSystemDesiredAccess desiredAccess);
public LocalPrintServer(System.Printing.PrintSystemDesiredAccess desiredAccess);
new System.Printing.LocalPrintServer : System.Printing.PrintSystemDesiredAccess -> System.Printing.LocalPrintServer
Public Sub New (desiredAccess As PrintSystemDesiredAccess)

Parameter

desiredAccess
PrintSystemDesiredAccess

Ein Wert, der den Typ des Zugriffs auf den Druckserver angibt, den Ihre Anwendung benötigt.

Ausnahmen

desiredAccess ist ein Wert, der nur auf ein PrintQueue Objekt angewendet werden kann, nicht auf ein LocalPrintServer Objekt. Beispiel: UsePrinter

Beispiele

Das folgende Beispiel zeigt, wie Sie diesen Konstruktor im Code verwenden, der einen zweiten Drucker installiert, der sich in seinen Eigenschaften von einem vorhandenen Drucker nur an Position, Port und gemeinsam genutztem Status unterscheidet.

LocalPrintServer myLocalPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
PrintQueue sourcePrintQueue = myLocalPrintServer.DefaultPrintQueue;
PrintPropertyDictionary myPrintProperties = sourcePrintQueue.PropertiesCollection;

// Share the new printer using Remove/Add methods
PrintBooleanProperty shared = new PrintBooleanProperty("IsShared", true);
myPrintProperties.Remove("IsShared");
myPrintProperties.Add("IsShared", shared);

// Give the new printer its share name using SetProperty method
PrintStringProperty theShareName = new PrintStringProperty("ShareName", "\"Son of " + sourcePrintQueue.Name +"\"");
myPrintProperties.SetProperty("ShareName", theShareName);

// Specify the physical location of the new printer using Remove/Add methods
PrintStringProperty theLocation = new PrintStringProperty("Location", "the supply room");
myPrintProperties.Remove("Location");
myPrintProperties.Add("Location", theLocation);

// Specify the port for the new printer
String[] port = new String[] { "COM1:" };

// Install the new printer on the local print server
PrintQueue clonedPrinter = myLocalPrintServer.InstallPrintQueue("My clone of " + sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties);
myLocalPrintServer.Commit();

// Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName);
Console.WriteLine("Press Return to continue ...");
Console.ReadLine();
Dim myLocalPrintServer As New LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer)
Dim sourcePrintQueue As PrintQueue = myLocalPrintServer.DefaultPrintQueue
Dim myPrintProperties As PrintPropertyDictionary = sourcePrintQueue.PropertiesCollection

' Share the new printer using Remove/Add methods
Dim [shared] As New PrintBooleanProperty("IsShared", True)
myPrintProperties.Remove("IsShared")
myPrintProperties.Add("IsShared", [shared])

' Give the new printer its share name using SetProperty method
Dim theShareName As New PrintStringProperty("ShareName", """Son of " & sourcePrintQueue.Name & """")
myPrintProperties.SetProperty("ShareName", theShareName)

' Specify the physical location of the new printer using Remove/Add methods
Dim theLocation As New PrintStringProperty("Location", "the supply room")
myPrintProperties.Remove("Location")
myPrintProperties.Add("Location", theLocation)

' Specify the port for the new printer
Dim port() As String = { "COM1:" }


' Install the new printer on the local print server
Dim clonedPrinter As PrintQueue = myLocalPrintServer.InstallPrintQueue("My clone of " & sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties)
myLocalPrintServer.Commit()

' Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName)
Console.WriteLine("Press Return to continue ...")
Console.ReadLine()

Gilt für:

LocalPrintServer(String[])

Initialisiert eine neue Instanz der LocalPrintServer Klasse mit den angegebenen Eigenschaften.

public:
 LocalPrintServer(cli::array <System::String ^> ^ propertiesFilter);
public LocalPrintServer(string[] propertiesFilter);
new System.Printing.LocalPrintServer : string[] -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As String())

Parameter

propertiesFilter
String[]

Ein Array der Eigenschaftsnamen, die der Konstruktor initialisiert.

Gilt für:

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der Klasse, die LocalPrintServer das angegebene LocalPrintServerIndexedProperty Array und das angegebene Array PrintSystemDesiredAccessaufweist.

public:
 LocalPrintServer(cli::array <System::Printing::LocalPrintServerIndexedProperty> ^ propertiesFilter, System::Printing::PrintSystemDesiredAccess desiredAccess);
public LocalPrintServer(System.Printing.LocalPrintServerIndexedProperty[] propertiesFilter, System.Printing.PrintSystemDesiredAccess desiredAccess);
new System.Printing.LocalPrintServer : System.Printing.LocalPrintServerIndexedProperty[] * System.Printing.PrintSystemDesiredAccess -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As LocalPrintServerIndexedProperty(), desiredAccess As PrintSystemDesiredAccess)

Parameter

propertiesFilter
LocalPrintServerIndexedProperty[]

Ein Array von Eigenschaften, die der Konstruktor initialisiert.

desiredAccess
PrintSystemDesiredAccess

Ein Wert, der den Typ des Zugriffs auf den Druckserver angibt, den Ihr Programm benötigt.

Ausnahmen

desiredAccess ist ein Wert, der nur auf ein PrintQueue Objekt angewendet werden kann, nicht auf ein LocalPrintServer Objekt. Beispiel: UsePrinter

Gilt für:

LocalPrintServer(String[], PrintSystemDesiredAccess)

Initialisiert eine neue Instanz der LocalPrintServer Klasse mit den angegebenen Eigenschaften und PrintSystemDesiredAccess.

public:
 LocalPrintServer(cli::array <System::String ^> ^ propertiesFilter, System::Printing::PrintSystemDesiredAccess desiredAccess);
public LocalPrintServer(string[] propertiesFilter, System.Printing.PrintSystemDesiredAccess desiredAccess);
new System.Printing.LocalPrintServer : string[] * System.Printing.PrintSystemDesiredAccess -> System.Printing.LocalPrintServer
Public Sub New (propertiesFilter As String(), desiredAccess As PrintSystemDesiredAccess)

Parameter

propertiesFilter
String[]

Ein Array der Eigenschaftsnamen, die der Konstruktor initialisiert.

desiredAccess
PrintSystemDesiredAccess

Ein Wert, der den Typ des Zugriffs auf den Druckserver angibt, den Ihre Anwendung benötigt.

Ausnahmen

desiredAccess ist ein Wert, der nur auf ein PrintQueue Objekt angewendet werden kann, nicht auf ein LocalPrintServer Objekt. Beispiel: UsePrinter

Gilt für: