PrintTicket 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.
Menentukan pengaturan pekerjaan cetak.
public ref class PrintTicket sealed : System::ComponentModel::INotifyPropertyChanged
public sealed class PrintTicket : System.ComponentModel.INotifyPropertyChanged
type PrintTicket = class
interface INotifyPropertyChanged
Public NotInheritable Class PrintTicket
Implements INotifyPropertyChanged
- Warisan
-
PrintTicket
- Penerapan
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 PrintTicket adalah representasi yang mudah dikerjakan dengan jenis dokumen XML tertentu yang disebut dokumen PrintTicket. Yang terakhir adalah serangkaian instruksi yang memberi tahu printer cara mengatur berbagai fiturnya (seperti duplexing, collating, dan stapling). Misalnya, untuk menginstruksikan printer untuk menyalakan pekerjaan pencetakan stapler dan staple di sudut kiri atas, dokumen akan memiliki <JobStapleAllDocuments … >
elemen yang menentukan StapleTopLeft. Elemen ini, pada gilirannya, diwakili oleh Stapling properti PrintTicket objek . Dokumen PrintTicket harus sesuai dengan Skema Cetak.
Kelas ini PrintTicket memungkinkan aplikasi Anda untuk mengonfigurasi fitur printer tanpa harus terlibat dalam penulisan langsung objek XML Stream .
Semua fitur paling populer dari file rumah dan bisnis dan printer foto diwakili oleh properti PrintTicket kelas. Tetapi Skema Cetak mendefinisikan lebih banyak fitur, 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 dipertangjawabkan di PrintTicket kelas atau PrintCapabilities . Untuk informasi selengkapnya lihat Cara: Memperluas Skema Cetak dan Membuat Kelas Sistem Cetak Baru.
CatatanPrintTicket Ketika objek dibuat dengan konstruktor yang mengambil parameter dokumen PrintTicket (sebagai Stream) , bahwa seluruh dokumen disimpan dalam bidang non-publik dalam objek, termasuk elemen XML di dalamnya yang mengekspresikan fitur yang kurang umum yang tidak diwakili oleh properti PrintTicket publik kelas apa pun. Bahkan, jika driver yang menghasilkan dokumen PrintTicket menggunakan ekstensi privat dari Skema Cetak, markup yang ditentukan secara privat juga disimpan sebagai bagian dari dokumen PrintTicket non-publik.
Perhatian
Kelas dalam System.Printing namespace 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 tak terduga, seperti performa layanan yang berkurang dan pengecualian run-time.
Jika Anda ingin mencetak dari aplikasi Windows Forms, lihat System.Drawing.Printing namespace layanan.
Konstruktor
PrintTicket() |
Menginisialisasi instans baru kelas PrintTicket. |
PrintTicket(Stream) |
Menginisialisasi instans PrintTicket baru kelas dengan menggunakan aliran XML (yang berisi dokumen PrintTicket) yang sesuai dengan Skema Cetak XML. |
Properti
Collation |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah printer menyusun outputnya. |
CopyCount |
Mendapatkan atau mengatur jumlah salinan untuk pekerjaan cetak. |
DeviceFontSubstitution |
Mendapatkan atau mengatur nilai yang menunjukkan apakah printer mengganti font berbasis perangkat untuk font berbasis komputer pada pekerjaan cetak. |
Duplexing |
Mendapatkan atau menetapkan nilai yang menunjukkan jenis pencetakan dua sisi, jika ada, yang digunakan printer untuk pekerjaan cetak. |
InputBin |
Mendapatkan atau menetapkan nilai yang menunjukkan bin input apa (baki kertas) yang akan digunakan. |
OutputColor |
Mendapatkan atau mengatur nilai yang menunjukkan bagaimana printer menangani konten yang memiliki warna atau warna abu-abu. |
OutputQuality |
Mendapatkan atau menetapkan nilai yang menunjukkan kualitas output untuk pekerjaan cetak. |
PageBorderless |
Mendapatkan atau mengatur nilai yang menunjukkan apakah perangkat mencetak konten ke tepi media atau meninggalkan margin yang tidak dicetak di sekitar tepi. |
PageMediaSize |
Mendapatkan atau menyetel ukuran halaman untuk kertas (atau media lain) yang digunakan printer untuk tugas cetak. |
PageMediaType |
Mendapatkan atau menetapkan nilai yang menunjukkan jenis kertas atau media apa yang digunakan printer untuk pekerjaan cetak. |
PageOrder |
Mendapatkan atau mengatur nilai yang menunjukkan apakah printer mencetak beberapa halaman secara back-to-front atau front-to-back. |
PageOrientation |
Mendapatkan atau menetapkan nilai yang menunjukkan bagaimana konten halaman berorientasi untuk pencetakan. |
PageResolution |
Mendapatkan atau mengatur tingkat resolusi halaman yang digunakan printer untuk pekerjaan cetak. |
PageScalingFactor |
Mendapatkan atau mengatur persentase di mana printer memperbesar atau mengurangi gambar cetak pada halaman. |
PagesPerSheet |
Mendapatkan atau mengatur jumlah halaman yang dicetak pada setiap sisi lembar kertas yang dicetak. |
PagesPerSheetDirection |
Mendapatkan atau menetapkan nilai yang menunjukkan bagaimana printer mengatur beberapa halaman yang mencetak di setiap sisi lembar kertas. |
PhotoPrintingIntent |
Mendapatkan atau menetapkan nilai yang menunjukkan dalam istilah kualitatif tingkat kualitas yang digunakan printer untuk mencetak foto. |
Stapling |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah, dan di mana, printer membungkus beberapa halaman. |
TrueTypeFontMode |
Mendapatkan atau mengatur nilai yang menunjukkan bagaimana printer menangani teks yang menggunakan font TrueType. |
Metode
Clone() |
Membuat kloning yang dapat dimodifikasi dari ini PrintTicket, membuat salinan mendalam dari nilai objek ini. |
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 instans Type saat ini. (Diperoleh dari Object) |
GetXmlStream() |
Mengembalikan MemoryStream objek yang mewakili nilai properti dari aliran PrintTicket XML yang sesuai dengan Skema Cetak. |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
SaveTo(Stream) |
Menyimpan pengaturan ke PrintTicketStream objek dengan menggunakan format XML yang sesuai dengan Skema Cetak. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Acara
PropertyChanged |
Terjadi ketika properti apa PrintTicket pun dari perubahan. |