PrintCapabilities Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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) |