PrintQueue.MergeAndValidatePrintTicket Metode
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.
Menggabungkan dua PrintTickets dan menjamin bahwa hasilnya PrintTicket valid dan tidak meminta fungsionalitas pencetakan apa pun yang tidak didukung printer.
Overload
MergeAndValidatePrintTicket(PrintTicket, PrintTicket) |
Menggabungkan dua PrintTickets dan menjamin bahwa hasilnya PrintTicket valid dan tidak meminta fungsionalitas pencetakan apa pun yang tidak didukung printer. |
MergeAndValidatePrintTicket(PrintTicket, PrintTicket, PrintTicketScope) |
Menggabungkan dua PrintTickets dan menjamin bahwa hasilnya PrintTicket valid, tidak meminta fungsionalitas pencetakan apa pun yang tidak didukung printer, dan terbatas pada cakupan yang ditentukan. |
MergeAndValidatePrintTicket(PrintTicket, PrintTicket)
Menggabungkan dua PrintTickets dan menjamin bahwa hasilnya PrintTicket valid dan tidak meminta fungsionalitas pencetakan apa pun yang tidak didukung printer.
public:
System::Printing::ValidationResult MergeAndValidatePrintTicket(System::Printing::PrintTicket ^ basePrintTicket, System::Printing::PrintTicket ^ deltaPrintTicket);
public System.Printing.ValidationResult MergeAndValidatePrintTicket (System.Printing.PrintTicket basePrintTicket, System.Printing.PrintTicket deltaPrintTicket);
member this.MergeAndValidatePrintTicket : System.Printing.PrintTicket * System.Printing.PrintTicket -> System.Printing.ValidationResult
Public Function MergeAndValidatePrintTicket (basePrintTicket As PrintTicket, deltaPrintTicket As PrintTicket) As ValidationResult
Parameter
- basePrintTicket
- PrintTicket
Tiket cetak pertama.
- deltaPrintTicket
- PrintTicket
Tiket cetak kedua. Ini bisa menjadi null
.
Mengembalikan
ValidationResult yang mencakup gabungan PrintTicket dan indikasi apakah salah satu pengaturannya harus diubah untuk menjamin kelayakan.
Pengecualian
Setidaknya salah satu tiket cetak input tidak valid.
basePrintTicket
adalah null
.
Operasi validasi, merger, dan pemeriksaan kelayakan gagal.
Contoh
Contoh berikut menunjukkan cara menggunakan metode ini untuk menggabungkan dua tiket cetak dan merespons ValidationResult yang dikembalikan.
/// <summary>
/// Changes the user-default PrintTicket setting of the specified print queue.
/// </summary>
/// <param name="queue">the printer whose user-default PrintTicket setting needs to be changed</param>
static private void ChangePrintTicketSetting(PrintQueue queue)
{
//
// Obtain the printer's PrintCapabilities so we can determine whether or not
// duplexing printing is supported by the printer.
//
PrintCapabilities printcap = queue.GetPrintCapabilities();
//
// The printer's duplexing capability is returned as a read-only collection of duplexing options
// that can be supported by the printer. If the collection returned contains the duplexing
// option we want to set, it means the duplexing option we want to set is supported by the printer,
// so we can make the user-default PrintTicket setting change.
//
if (printcap.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge))
{
//
// To change the user-default PrintTicket, we can first create a delta PrintTicket with
// the new duplexing setting.
//
PrintTicket deltaTicket = new PrintTicket();
deltaTicket.Duplexing = Duplexing.TwoSidedLongEdge;
//
// Then merge the delta PrintTicket onto the printer's current user-default PrintTicket,
// and validate the merged PrintTicket to get the new PrintTicket we want to set as the
// printer's new user-default PrintTicket.
//
ValidationResult result = queue.MergeAndValidatePrintTicket(queue.UserPrintTicket, deltaTicket);
//
// The duplexing option we want to set could be constrained by other PrintTicket settings
// or device settings. We can check the validated merged PrintTicket to see whether the
// the validation process has kept the duplexing option we want to set unchanged.
//
if (result.ValidatedPrintTicket.Duplexing == Duplexing.TwoSidedLongEdge)
{
//
// Set the printer's user-default PrintTicket and commit the set operation.
//
queue.UserPrintTicket = result.ValidatedPrintTicket;
queue.Commit();
Console.WriteLine("PrintTicket new duplexing setting is set on '{0}'.", queue.FullName);
}
else
{
//
// The duplexing option we want to set has been changed by the validation process
// when it was resolving setting constraints.
//
Console.WriteLine("PrintTicket new duplexing setting is constrained on '{0}'.", queue.FullName);
}
}
else
{
//
// If the printer doesn't support the duplexing option we want to set, skip it.
//
Console.WriteLine("PrintTicket new duplexing setting is not supported on '{0}'.", queue.FullName);
}
}
''' <summary>
''' Changes the user-default PrintTicket setting of the specified print queue.
''' </summary>
''' <param name="queue">the printer whose user-default PrintTicket setting needs to be changed</param>
Private Shared Sub ChangePrintTicketSetting(ByVal queue As PrintQueue)
'
' Obtain the printer's PrintCapabilities so we can determine whether or not
' duplexing printing is supported by the printer.
'
Dim printcap As PrintCapabilities = queue.GetPrintCapabilities()
'
' The printer's duplexing capability is returned as a read-only collection of duplexing options
' that can be supported by the printer. If the collection returned contains the duplexing
' option we want to set, it means the duplexing option we want to set is supported by the printer,
' so we can make the user-default PrintTicket setting change.
'
If printcap.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
'
' To change the user-default PrintTicket, we can first create a delta PrintTicket with
' the new duplexing setting.
'
Dim deltaTicket As New PrintTicket()
deltaTicket.Duplexing = Duplexing.TwoSidedLongEdge
'
' Then merge the delta PrintTicket onto the printer's current user-default PrintTicket,
' and validate the merged PrintTicket to get the new PrintTicket we want to set as the
' printer's new user-default PrintTicket.
'
Dim result As ValidationResult = queue.MergeAndValidatePrintTicket(queue.UserPrintTicket, deltaTicket)
'
' The duplexing option we want to set could be constrained by other PrintTicket settings
' or device settings. We can check the validated merged PrintTicket to see whether the
' the validation process has kept the duplexing option we want to set unchanged.
'
If result.ValidatedPrintTicket.Duplexing = Duplexing.TwoSidedLongEdge Then
'
' Set the printer's user-default PrintTicket and commit the set operation.
'
queue.UserPrintTicket = result.ValidatedPrintTicket
queue.Commit()
Console.WriteLine("PrintTicket new duplexing setting is set on '{0}'.", queue.FullName)
Else
'
' The duplexing option we want to set has been changed by the validation process
' when it was resolving setting constraints.
'
Console.WriteLine("PrintTicket new duplexing setting is constrained on '{0}'.", queue.FullName)
End If
Else
'
' If the printer doesn't support the duplexing option we want to set, skip it.
'
Console.WriteLine("PrintTicket new duplexing setting is not supported on '{0}'.", queue.FullName)
End If
End Sub
Keterangan
Metode ini menghasilkan tiket cetak yang layak; artinya, tiket yang tidak meminta fitur pencetakan yang tidak didukung printer. Metode ini terlebih dahulu memvalidasi dua tiket cetak input terhadap Skema Cetak. Jika salah satunya tidak valid, pengecualian akan dilemparkan.
Kedua tiket tersebut kemudian digabungkan. Jika mereka memiliki nilai yang berbeda untuk properti tertentu, maka tiket gabungan yang dihasilkan awalnya menggunakan nilai tiket delta.
Tiket gabungan kemudian diperiksa terhadap kemampuan printer yang sebenarnya. Jika ada pengaturan dalam tiket yang tidak kompatibel dengan kemampuan pencetak, maka driver pencetak mengubah pengaturan tersebut dengan menggunakan logika apa pun yang diinginkannya. Biasanya, ini menggantikan nilai default pengguna atau printer untuk pengaturan. Ini sumber nilai pengganti pengemudi bukan tiket yang sama dengan basePrintTicket
, maka tiket gabungan mungkin memiliki beberapa pengaturan yang berbeda dari kedua tiket input. Jika pengandar pencetak harus mengubah pengaturan apa pun maka fakta ini dilaporkan dalam ConflictStatus properti .ValidationResult
Untuk menggabungkan dan memvalidasi berdasarkan pengaturan default antrean cetak, Anda harus mengatur basePrintTicket
ke DefaultPrintTicket atau UserPrintTicket.
Parameter deltaPrintTicket
dapat berupa null
, dalam hal basePrintTicket
ini divalidasi, diperiksa kelayakannya, dan dikembalikan, mungkin dengan perubahan.
Dengan kelebihan beban MergeAndValidatePrintTicketini, baik deltaPrintTicket
dan PrintTicket dalam ValidationResult yang dikembalikan memiliki cakupan luas pekerjaan. Untuk menentukan cakupan yang berbeda, gunakan kelebihan beban lain dari metode ini.
Berlaku untuk
MergeAndValidatePrintTicket(PrintTicket, PrintTicket, PrintTicketScope)
Menggabungkan dua PrintTickets dan menjamin bahwa hasilnya PrintTicket valid, tidak meminta fungsionalitas pencetakan apa pun yang tidak didukung printer, dan terbatas pada cakupan yang ditentukan.
public:
System::Printing::ValidationResult MergeAndValidatePrintTicket(System::Printing::PrintTicket ^ basePrintTicket, System::Printing::PrintTicket ^ deltaPrintTicket, System::Printing::PrintTicketScope scope);
public System.Printing.ValidationResult MergeAndValidatePrintTicket (System.Printing.PrintTicket basePrintTicket, System.Printing.PrintTicket deltaPrintTicket, System.Printing.PrintTicketScope scope);
member this.MergeAndValidatePrintTicket : System.Printing.PrintTicket * System.Printing.PrintTicket * System.Printing.PrintTicketScope -> System.Printing.ValidationResult
Public Function MergeAndValidatePrintTicket (basePrintTicket As PrintTicket, deltaPrintTicket As PrintTicket, scope As PrintTicketScope) As ValidationResult
Parameter
- basePrintTicket
- PrintTicket
Tiket cetak pertama.
- deltaPrintTicket
- PrintTicket
Tiket cetak kedua. Ini bisa menjadi null
.
- scope
- PrintTicketScope
Nilai yang menunjukkan apakah cakupan deltaPrintTicket
, dan cakupan tiket cetak yang dikembalikan di ValidationResult, adalah halaman, dokumen, atau seluruh pekerjaan.
Mengembalikan
ValidationResult yang mencakup gabungan PrintTicket dan indikasi apakah salah satu pengaturannya harus diubah untuk menjamin kelayakan.
Pengecualian
Setidaknya salah satu tiket cetak input tidak valid.
basePrintTicket
adalah null
.
Parameter scope
tidak memiliki nilai yang valid PrintTicketScope .
Operasi validasi, merger, dan pemeriksaan kelayakan gagal.
Keterangan
Metode ini menghasilkan tiket cetak yang layak; artinya, tiket yang tidak meminta fitur pencetakan yang tidak didukung printer. Metode ini terlebih dahulu memvalidasi dua tiket cetak input terhadap Skema Cetak. Jika salah satunya tidak valid, pengecualian akan dilemparkan.
Kedua tiket tersebut kemudian digabungkan. Jika mereka memiliki nilai yang berbeda untuk properti tertentu, maka tiket gabungan yang dihasilkan awalnya menggunakan nilai tiket delta.
Tiket gabungan kemudian diperiksa terhadap kemampuan printer yang sebenarnya. Jika ada pengaturan dalam tiket yang tidak kompatibel dengan kemampuan pencetak, maka driver pencetak mengubah pengaturan tersebut dengan menggunakan logika apa pun yang diinginkannya. Biasanya, ini menggantikan nilai default pengguna atau printer untuk pengaturan. Ini sumber nilai pengganti pengemudi bukan tiket yang sama dengan basePrintTicket
, maka tiket gabungan mungkin memiliki beberapa pengaturan yang berbeda dari kedua tiket input. Jika pengandar pencetak harus mengubah pengaturan apa pun maka fakta ini dilaporkan dalam ConflictStatus properti .ValidationResult
Untuk menggabungkan dan memvalidasi berdasarkan pengaturan default antrean cetak, Anda harus mengatur basePrintTicket
ke DefaultPrintTicket atau UserPrintTicket.
Parameter deltaPrintTicket
dapat berupa null
, dalam hal basePrintTicket
ini divalidasi, diperiksa kelayakannya, dan dikembalikan, mungkin dengan perubahan.
scope
Jika adalah pekerjaan, maka tiket cetak yang dikembalikan dalam ValidationResult dapat menyertakan parameter Cetak Skema dengan awalan Pekerjaan, Dokumen, dan Halaman.
scope
Jika adalah dokumen, pengaturan per pekerjaan di deltaPrintTicket
diabaikan, dan tiket yang dikembalikan dapat menyertakan parameter dengan awalan Dokumen dan Halaman.
scope
Jika adalah halaman, maka pengaturan per pekerjaan dan pengaturan per dokumen di deltaPrintTicket
diabaikan, dan tiket yang dikembalikan hanya dapat menyertakan parameter dengan awalan Halaman.