Bagikan melalui


PrintTask Kelas

Definisi

Mewakili operasi pencetakan termasuk konten yang akan dicetak, serta menyediakan akses ke informasi yang menjelaskan bagaimana konten akan dicetak.

public ref class PrintTask sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTask final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTask
Public NotInheritable Class PrintTask
Warisan
Object Platform::Object IInspectable PrintTask
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Keterangan

Objek PrintTask mewakili operasi pencetakan untuk aplikasi UWP. Aplikasi ini bertanggung jawab untuk membuat PrintTask yang diminta melalui peristiwa PrintTaskRequested pada objek PrintManager . Untuk membuat PrintTask , Anda harus memberikan nama untuk tugas dan delegasi PrintTaskSourceRequestedHandler yang dipanggil ketika pengguna siap untuk mulai mencetak.

Jika pengguna memutuskan untuk tidak mencetak tugas, tugas dapat diselesaikan tanpa pernah meminta sumber dokumen.

PrintTask berisi referensi, dalam bentuk properti Sumber , ke Sumber Dokumen Cetak yang disediakan oleh aplikasi. Objek ini harus mendukung antarmuka IPrintDocumentSource .

Selain itu PrintTask berisi properti Opsi yang menyimpan referensi ke objek PrintTaskOptions . Objek PrintTaskOptions menyediakan akses ke detail tentang format konten cetak yang diinginkan. PrintTaskOptions juga menyediakan metode yang memungkinkan aspek pengalaman pengguna cetak dimodifikasi. Misalnya, PrintTaskOptions memungkinkan aplikasi untuk menentukan opsi mana yang didukung yang muncul di halaman awal pengalaman cetak.

Tugas cetak melewati serangkaian status tertentu setelah pembuatannya, dan perubahan status ini dapat digunakan oleh aplikasi untuk memberikan umpan balik kepada pengguna. Sebagian besar transisi status diwakili dalam peristiwa yang dinaikkan oleh PrintTask. Tugas cetak dibuat sebagai respons terhadap peristiwa PrintTaskRequested pada PrintManager menggunakan metode CreatePrintTask pada objek PrintTaskRequest . Pada titik ini, tugas cetak tidak dapat dicetak, karena isi yang akan dicetak belum disediakan. Biasanya peristiwa PrintTaskRequested dinaikkan ketika pengguna mengklik tombol Perangkat atau aplikasi memulai pencetakan melalui metode ShowPrintUIAsync pada PrintManager.

Setelah sistem menentukan bahwa tugas akan dicetak, delegasi PrintTaskSourceRequestedHandler dipanggil untuk benar-benar mengambil referensi ke objek Sumber Dokumen. Pada titik ini PrintTask sepenuhnya diinisialisasi. Jika pengguna memutuskan untuk tidak menyelesaikan pencetakan yang diwakili oleh objek PrintTask , peristiwa penyelesaian dinaikkan dengan jenis penyelesaian yang ditinggalkan.

Setelah inisialisasi, pengalaman pengguna pencetakan bertanggung jawab untuk membantu pengguna memilih atribut yang berbeda, seperti ukuran kertas atau dupleks, untuk konten yang dicetak. Ketika inisialisasi jendela cetak hampir selesai, PrintTask menaikkan peristiwa Pratinjau . Ini adalah ketika pengguna sekarang dapat memanipulasi konten objek PrintTaskOptions melalui jendela cetak. Pengguna dapat mengubah nilai pengaturan kapan saja selama tahap Pratinjau, dan ini harus dipertimbangkan saat aplikasi membuat paginasi konten di lain waktu. Objek PrintTaskOptions menyediakan fungsionalitas dasar untuk mengambil nilai pengaturan cetak. Untuk kontrol tingkat lanjut lainnya dari opsi cetak, lihat PrintTaskOptionDetails. Sekali lagi pengguna dapat membatalkan operasi ini yang akan mengakibatkan peristiwa penyelesaian dinaikkan dengan jenis penyelesaian dibatalkan.

Ketika pengguna memilih untuk benar-benar memulai pencetakan dengan menekan Cetak di jendela cetak, misalnya, tugas cetak beralih dari Pratinjau ke status Pengiriman , dan peristiwa Pengiriman dinaikkan. Sumber dokumen cetak kemudian diteruskan perintah MakeDocument dan proses pengiriman halaman ke subsistem cetak dimulai. Saat halaman dikirimkan, peristiwa Progres dinaikkan. Aplikasi dapat memilih untuk menggunakan informasi dalam peristiwa yang sedang berlangsung untuk memberi tahu pengguna berapa banyak konten yang tetap harus dicetak. Setelah proses pengiriman dokumen ke subsistem cetak selesai, PrintTask menaikkan peristiwa Penyelesaian . Kejadian ini menunjukkan apakah pekerjaan berhasil dikirimkan, dibatalkan, atau gagal selama proses pengiriman.

Berikut adalah cuplikan kode dari sampel cetak UWP yang menunjukkan cara menunjukkan urutan pengaturan cetak default harus ditampilkan:

protected override void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
    PrintTask printTask = null;
    printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequestedArgs =>
    {
        IList<string> displayedOptions = printTask.Options.DisplayedOptions;

        // Choose the printer options to be shown.
        // The order in which the options are appended determines the order in which they appear in the UI
        displayedOptions.Clear();
        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Copies);
        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Orientation);
        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.MediaSize);
        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Collation);
        displayedOptions.Add(Windows.Graphics.Printing.StandardPrintTaskOptions.Duplex);

        // Preset the default value of the printer option
        printTask.Options.MediaSize = PrintMediaSize.NorthAmericaLegal;

        // Print Task event handler is invoked when the print job is completed.
        printTask.Completed += async (s, args) =>
        {
            // Notify the user when the print operation fails.
            if (args.Completion == PrintTaskCompletion.Failed)
            {
                await scenarioPage.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                {
                    MainPage.Current.NotifyUser("Failed to print.", NotifyType.ErrorMessage);
                });
            }
        };

        sourceRequestedArgs.SetSource(printDocumentSource);
    });
}

Untuk melihat daftar lengkap untuk ini, dan skenario pencetakan lainnya menggunakan PrintTask, lihat Mencetak dan sampel cetak UWP.

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1607 14393 IsPreviewEnabled

Properti

Is3DManufacturingTargetEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah PrintTask mendukung perangkat manufaktur 3D, seperti printer 3D.

IsPreviewEnabled

Mendapatkan atau mengatur nilai yang menunjukkan apakah PrintTask akan menampilkan pratinjau cetak.

IsPrinterTargetEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah PrintTask mendukung target printer.

Options

Mengambil PrintTaskOptions untuk tugas cetak yang menentukan bagaimana konten akan diformat untuk pencetakan.

Properties

Mengambil sekumpulan properti yang terkait dengan PrintTask.

Source

Mengembalikan penunjuk ke objek yang disediakan aplikasi yang mewakili konten yang akan dicetak. Objek ini harus mendukung antarmuka IPrintDocumentSource .

Acara

Completed

Dimunculkan ketika tugas cetak selesai.

Previewing

Dimunculkan ketika sistem cetak menginisialisasi mode pratinjau cetak.

Progressing

Dinaikkan untuk memberikan informasi kemajuan tentang berapa banyak isi cetak yang telah dikirimkan ke subsistem cetak untuk pencetakan.

Submitting

Dimunculkan ketika tugas cetak mulai mengirimkan konten ke subsistem cetak yang akan dicetak.

Berlaku untuk

Lihat juga