Udostępnij za pośrednictwem


LocalPrintServer Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy LocalPrintServer.

Przeciążenia

LocalPrintServer()

Inicjuje nowe wystąpienie klasy LocalPrintServer.

LocalPrintServer(LocalPrintServerIndexedProperty[])

Inicjuje LocalPrintServer nowe wystąpienie klasy, która ma określoną LocalPrintServerIndexedProperty tablicę.

LocalPrintServer(PrintSystemDesiredAccess)

Inicjuje LocalPrintServer nowe wystąpienie klasy, która ma określony PrintSystemDesiredAccesselement .

LocalPrintServer(String[])

Inicjuje LocalPrintServer nowe wystąpienie klasy, która ma określone właściwości.

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Inicjuje LocalPrintServer nowe wystąpienie klasy z określoną LocalPrintServerIndexedProperty tablicą i określoną wartością PrintSystemDesiredAccess.

LocalPrintServer(String[], PrintSystemDesiredAccess)

Inicjuje LocalPrintServer nowe wystąpienie klasy z określonymi właściwościami i PrintSystemDesiredAccess.

LocalPrintServer()

Inicjuje nowe wystąpienie klasy LocalPrintServer.

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

Przykłady

W poniższym przykładzie pokazano, jak używać tego konstruktora w kodzie, który testuje możliwości drukarki i konfiguruje zadanie drukowania w celu ich wykorzystania.

// ---------------------- 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()

Dotyczy

LocalPrintServer(LocalPrintServerIndexedProperty[])

Inicjuje LocalPrintServer nowe wystąpienie klasy, która ma określoną LocalPrintServerIndexedProperty tablicę.

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())

Parametry

propertiesFilter
LocalPrintServerIndexedProperty[]

Tablica właściwości inicjowanych przez konstruktora.

Dotyczy

LocalPrintServer(PrintSystemDesiredAccess)

Inicjuje LocalPrintServer nowe wystąpienie klasy, która ma określony PrintSystemDesiredAccesselement .

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)

Parametry

desiredAccess
PrintSystemDesiredAccess

Wartość określająca typ dostępu do serwera wydruku wymaganego przez aplikację.

Wyjątki

desiredAccess to wartość, która może być stosowana tylko do PrintQueue obiektu, a nie LocalPrintServer obiektu. Na przykład UsePrinter.

Przykłady

W poniższym przykładzie pokazano, jak użyć tego konstruktora w kodzie, który zainstaluje drugą drukarkę, która różni się w jego właściwościach od istniejącej drukarki tylko w lokalizacji, porcie i stanie udostępnionym.

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()

Dotyczy

LocalPrintServer(String[])

Inicjuje LocalPrintServer nowe wystąpienie klasy, która ma określone właściwości.

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())

Parametry

propertiesFilter
String[]

Tablica nazw właściwości zainicjowanych przez konstruktora.

Dotyczy

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Inicjuje LocalPrintServer nowe wystąpienie klasy z określoną LocalPrintServerIndexedProperty tablicą i określoną wartością PrintSystemDesiredAccess.

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)

Parametry

propertiesFilter
LocalPrintServerIndexedProperty[]

Tablica właściwości inicjowanych przez konstruktora.

desiredAccess
PrintSystemDesiredAccess

Wartość określająca typ dostępu do serwera wydruku, którego potrzebuje program.

Wyjątki

desiredAccess to wartość, która może być stosowana tylko do PrintQueue obiektu, a nie LocalPrintServer obiektu. Na przykład UsePrinter.

Dotyczy

LocalPrintServer(String[], PrintSystemDesiredAccess)

Inicjuje LocalPrintServer nowe wystąpienie klasy z określonymi właściwościami i 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)

Parametry

propertiesFilter
String[]

Tablica nazw właściwości zainicjowanych przez konstruktora.

desiredAccess
PrintSystemDesiredAccess

Wartość określająca typ dostępu do serwera wydruku wymaganego przez aplikację.

Wyjątki

desiredAccess to wartość, która może być stosowana tylko do PrintQueue obiektu, a nie LocalPrintServer obiektu. Na przykład UsePrinter.

Dotyczy