Share via


PrintTicket Kelas

Definisi

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 Create 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 Formulir Windows, 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.

Berlaku untuk