Share via


PrintCapabilities Kelas

Definisi

Mendefinisikan kemampuan printer.

public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
Warisan
PrintCapabilities

Contoh

Contoh berikut menunjukkan cara menentukan kemampuan printer tertentu dan cara mengonfigurasi pekerjaan cetak untuk memanfaatkannya.

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

Keterangan

Objek PrintCapabilities adalah representasi yang mudah dikerjakan dengan jenis dokumen XML tertentu yang disebut dokumen PrintCapabilities. Yang terakhir adalah rekam jepret dari semua kemampuan printer dan pengaturannya saat ini. Misalnya, jika printer mendukung pencetakan warna, maka dokumen akan memiliki <PageOutputColor … > elemen yang mengatur bagaimana output warna akan ditangani. Elemen ini, pada gilirannya, diwakili oleh OutputColorCapability properti PrintCapabilities objek . Jika printer tidak mendukung warna, maka tidak <PageOutputColor … > ada elemen dalam dokumen dan nilai OutputColorCapability properti adalah null. Dokumen PrintCapabilities harus sesuai dengan Skema Cetak.

Kelas ini PrintCapabilities memungkinkan aplikasi Anda untuk mendapatkan kemampuan printer tanpa harus terlibat dalam pembacaan langsung objek XML Stream .

Semua fitur paling populer dari printer file dan foto, baik untuk rumah maupun bisnis, dirangkum oleh PrintCapabilities kelas . Tetapi Skema Cetak mendefinisikan banyak fitur yang lebih banyak, kurang umum, dan dapat diperluas untuk menangani fitur perangkat pencetakan khusus. Jadi, meskipun PrintTicket kelas dan PrintCapabilities tidak dapat diwariskan, Anda dapat memperluas Skema Cetak untuk mengenali fitur perangkat cetak yang tidak diperkirakan di PrintTicket kelas atau PrintCapabilities .

CatatanPrintCapabilities Ketika objek dibuat dengan konstruktor yang mengambil parameter dokumen PrintCapabilities (sebagai Stream) , seluruh dokumen disimpan dalam bidang non-publik di objek , termasuk elemen XML di dalamnya yang mengekspresikan fitur yang kurang umum yang tidak diwakili oleh salah satu properti PrintCapabilities publik kelas. Bahkan, jika driver yang menghasilkan dokumen PrintCapabilities menggunakan ekstensi privat dari Skema Cetak, markup yang ditentukan secara privat juga disimpan sebagai bagian dari dokumen PrintCapabilities non-publik.

Perhatian

Kelas dalam System.Printing namespace layanan tidak didukung untuk digunakan dalam layanan Windows atau aplikasi atau layanan ASP.NET. Mencoba menggunakan kelas ini dari dalam salah satu jenis aplikasi ini dapat menghasilkan masalah yang tidak terduga, seperti performa layanan yang berkurang dan pengecualian run-time.

Jika Anda ingin mencetak dari aplikasi Formulir Windows, lihat System.Drawing.Printing namespace.

Konstruktor

PrintCapabilities(Stream)

Menginisialisasi instans PrintCapabilities baru kelas dengan menggunakan aliran XML (yang berisi dokumen PrintCapabilities) yang menentukan kemampuan printer dan mematuhi Skema Cetak XML.

Properti

CollationCapability

Mendapatkan kumpulan nilai yang mengidentifikasi kemampuan kolaset printer.

DeviceFontSubstitutionCapability

Mendapatkan kumpulan nilai yang mengidentifikasi apakah dan bagaimana printer dapat menggantikan font berbasis perangkat untuk font berbasis komputer.

DuplexingCapability

Mendapatkan kumpulan nilai yang mengidentifikasi apakah dan bagaimana printer dapat melakukan pencetakan dua sisi.

InputBinCapability

Mendapatkan kumpulan nilai yang menunjukkan tempat sampah input (baki kertas) apa yang digunakan.

MaxCopyCount

Mendapatkan nilai yang menunjukkan jumlah maksimum salinan yang dapat dicetak perangkat dalam satu pekerjaan cetak.

OrientedPageMediaHeight

Mendapatkan nilai yang menunjukkan tinggi area yang dapat disortir pada halaman, di mana tinggi berarti dimensi vertikal relatif terhadap orientasi halaman.

OrientedPageMediaWidth

Mendapatkan nilai yang menunjukkan lebar area yang dapat dicitrakan pada halaman, di mana lebar berarti dimensi horizontal relatif terhadap orientasi halaman.

OutputColorCapability

Mendapatkan kumpulan nilai yang menentukan cara printer dapat mencetak konten dengan warna dan warna abu-abu.

OutputQualityCapability

Mendapatkan kumpulan nilai yang menunjukkan jenis kualitas output yang didukung printer.

PageBorderlessCapability

Mendapatkan kumpulan nilai yang menunjukkan apakah printer dapat mencetak ke tepi media.

PageImageableArea

Mendapatkan objek yang mewakili area halaman yang dapat digunakan printer.

PageMediaSizeCapability

Mendapatkan kumpulan PageMediaSize objek yang mengidentifikasi ukuran kertas dan media yang didukung printer.

PageMediaTypeCapability

Mendapatkan kumpulan nilai yang mengidentifikasi jenis kertas dan media lain yang didukung printer.

PageOrderCapability

Mendapatkan kumpulan nilai yang menunjukkan apakah printer mampu mencetak dokumen beberapa halaman dari depan ke belakang, back-to-front, atau kedua cara tersebut.

PageOrientationCapability

Mendapatkan kumpulan nilai yang mengidentifikasi jenis orientasi halaman apa yang didukung printer.

PageResolutionCapability

Mendapatkan kumpulan PageResolution objek yang mengidentifikasi tingkat resolusi halaman apa yang didukung printer.

PageScalingFactorRange

Mendapatkan persentase maksimum dan minimum di mana printer dapat memperbesar atau mengurangi gambar cetak pada halaman.

PagesPerSheetCapability

Mendapatkan kumpulan bilangan bulat, masing-masing mengidentifikasi jumlah halaman yang dapat dipilih pengguna untuk dicetak pada satu sisi lembar kertas.

PagesPerSheetDirectionCapability

Mendapatkan kumpulan nilai yang mengidentifikasi pola apa yang didukung printer untuk menyajikan beberapa halaman pada satu sisi lembar kertas.

PhotoPrintingIntentCapability

Mendapatkan kumpulan nilai yang mengidentifikasi opsi kualitas yang didukung printer untuk mencetak foto.

StaplingCapability

Mendapatkan kumpulan nilai yang mengidentifikasi jenis stapling otomatis yang didukung printer.

TrueTypeFontModeCapability

Mendapatkan kumpulan nilai yang mengidentifikasi metode yang didukung printer untuk menangani font TrueType.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk