Bagikan melalui


PrintQueue.MergeAndValidatePrintTicket Metode

Definisi

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.

Berlaku untuk