Aracılığıyla paylaş


LocalPrintServer Oluşturucular

Tanım

LocalPrintServer sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

LocalPrintServer()

LocalPrintServer sınıfının yeni bir örneğini başlatır.

LocalPrintServer(LocalPrintServerIndexedProperty[])

Belirtilen LocalPrintServerIndexedProperty diziye LocalPrintServer sahip sınıfının yeni bir örneğini başlatır.

LocalPrintServer(PrintSystemDesiredAccess)

belirtilen PrintSystemDesiredAccessöğesini içeren sınıfının yeni bir örneğini LocalPrintServer başlatır.

LocalPrintServer(String[])

Belirtilen özelliklere LocalPrintServer sahip sınıfının yeni bir örneğini başlatır.

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Belirtilen diziye ve belirtilen LocalPrintServerIndexedProperty öğesine sahip sınıfının yeni bir örneğini LocalPrintServerPrintSystemDesiredAccessbaşlatır.

LocalPrintServer(String[], PrintSystemDesiredAccess)

belirtilen özelliklere ve PrintSystemDesiredAccesssahip sınıfının yeni bir örneğini LocalPrintServer başlatır.

LocalPrintServer()

LocalPrintServer sınıfının yeni bir örneğini başlatır.

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

Örnekler

Aşağıdaki örnekte, bu oluşturucunun yazıcının özelliklerini test eden ve yazdırma işini bunlardan yararlanacak şekilde yapılandıran kodda nasıl kullanılacağı gösterilmektedir.

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

Şunlara uygulanır

LocalPrintServer(LocalPrintServerIndexedProperty[])

Belirtilen LocalPrintServerIndexedProperty diziye LocalPrintServer sahip sınıfının yeni bir örneğini başlatır.

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

Parametreler

propertiesFilter
LocalPrintServerIndexedProperty[]

Oluşturucunun başlatmış olduğu bir özellik dizisi.

Şunlara uygulanır

LocalPrintServer(PrintSystemDesiredAccess)

belirtilen PrintSystemDesiredAccessöğesini içeren sınıfının yeni bir örneğini LocalPrintServer başlatır.

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)

Parametreler

desiredAccess
PrintSystemDesiredAccess

Uygulamanızın ihtiyaç duyduğu yazdırma sunucusuna erişim türünü belirten değer.

Özel durumlar

desiredAccess bir nesneye değil, yalnızca nesneye PrintQueue uygulanabilen bir LocalPrintServer değerdir. Örneğin, UsePrinter.

Örnekler

Aşağıdaki örnekte, özelliklerinde yalnızca konum, bağlantı noktası ve paylaşılan durumdaki mevcut bir yazıcıdan farklı ikinci bir yazıcı yükleyecek kodda bu oluşturucunun nasıl kullanılacağı gösterilmektedir.

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

Şunlara uygulanır

LocalPrintServer(String[])

Belirtilen özelliklere LocalPrintServer sahip sınıfının yeni bir örneğini başlatır.

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

Parametreler

propertiesFilter
String[]

Oluşturucunun başlatmış olduğu özellik adlarının dizisi.

Şunlara uygulanır

LocalPrintServer(LocalPrintServerIndexedProperty[], PrintSystemDesiredAccess)

Belirtilen diziye ve belirtilen LocalPrintServerIndexedProperty öğesine sahip sınıfının yeni bir örneğini LocalPrintServerPrintSystemDesiredAccessbaşlatır.

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)

Parametreler

propertiesFilter
LocalPrintServerIndexedProperty[]

Oluşturucunun başlatmış olduğu bir özellik dizisi.

desiredAccess
PrintSystemDesiredAccess

Programınızın ihtiyaç duyduğu yazdırma sunucusuna erişim türünü belirten değer.

Özel durumlar

desiredAccess bir nesneye değil, yalnızca nesneye PrintQueue uygulanabilen bir LocalPrintServer değerdir. Örneğin, UsePrinter.

Şunlara uygulanır

LocalPrintServer(String[], PrintSystemDesiredAccess)

belirtilen özelliklere ve PrintSystemDesiredAccesssahip sınıfının yeni bir örneğini LocalPrintServer başlatır.

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)

Parametreler

propertiesFilter
String[]

Oluşturucunun başlatmış olduğu özellik adlarının dizisi.

desiredAccess
PrintSystemDesiredAccess

Uygulamanızın ihtiyaç duyduğu yazdırma sunucusuna erişim türünü belirten değer.

Özel durumlar

desiredAccess bir nesneye değil, yalnızca nesneye PrintQueue uygulanabilen bir LocalPrintServer değerdir. Örneğin, UsePrinter.

Şunlara uygulanır