다음을 통해 공유


PrintTaskRequest 클래스

정의

인쇄 작업을 만들기 위한 시스템의 요청을 포함합니다. 이 개체는 PrintTaskRequestedEventArgs 개체에서 PrintTaskRequested 이벤트에 전달된 개체에서 사용할 수 있습니다.

public ref class PrintTaskRequest sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTaskRequest final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTaskRequest
Public NotInheritable Class PrintTaskRequest
상속
Object Platform::Object IInspectable PrintTaskRequest
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

PrintTaskRequest 클래스는 앱에서 새 PrintTask 개체를 만드는 데 사용됩니다. PrintTask 개체는 PrintTaskRequested 이벤트에 대한 응답으로 만들어지고 앱에 인쇄할 콘텐츠가 있음을 시스템에 나타냅니다. CreatePrintTask 메서드를 사용하여 PrintTask 개체를 만들 때 앱은 PrintTask의 이름과 인쇄할 콘텐츠가 필요할 때 호출되는 PrintTaskSourceRequestedHandler 이벤트 처리기의 이름을 제공해야 합니다.

응답에 대해 짧은 시간만 제공되므로 앱은 PrintTaskRequested 이벤트 처리기에서 가능한 최소한의 작업을 수행해야 합니다. 가능한 경우 앱은 PrintTask를 만들고 PrintTaskSourceRequestedHandler 이벤트 처리기가 호출될 때까지 콘텐츠 초기화를 지연해야 합니다.

앱이 PrintTaskRequested 처리기 중에 비동기 작업을 수행해야 하는 경우 PrintTaskRequestedDeferral 개체를 검색하고 사용해야 합니다. 이벤트 처리기가 종료되기 전에 일반적으로 비동기 작업이 시작되기 전에 앱은 PrintTaskRequest 개체의 GetDeferral 메서드를 호출하여 PrintTaskRequestedDeferral 개체를 검색해야 합니다. 비동기 작업이 완료되면 앱은 PrintTaskRequestedDeferral 개체의 Complete 메서드를 호출하여 인쇄 작업 요청이 완료되었음을 신호해야 합니다. 요청이 수락되려면 Deadline에 도달하기 전에 Complete 메서드에 대한 호출이 발생해야 합니다.

PrintTaskRequestCreatePrintTask 메서드를 사용하여 인쇄 작업을 만들 수 있습니다. 다음은 인쇄 작업 생성을 보여 주는 UWP 인쇄 샘플 의 코드 조각입니다.

protected virtual void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
    PrintTask printTask = null;
    printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequested =>
    {
        // 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);
                });
            }
        };

        sourceRequested.SetSource(printDocumentSource);
    });
}

이 및 기타 인쇄 시나리오에 대한 자세한 내용은 인쇄UWP 인쇄 샘플을 참조하세요.

속성

Deadline

앱이 PrintTaskRequested 이벤트에 응답해야 하는 기간을 나타내는 DateTime 값을 가져옵니다. 기한에 도달할 때까지 시스템에서 PrintTaskRequested 이벤트 처리기로부터 응답을 받지 못한 경우 인쇄 작업은 무시됩니다.

메서드

CreatePrintTask(String, PrintTaskSourceRequestedHandler)

앱에 인쇄할 콘텐츠가 있음을 나타내는 새 PrintTask 를 만듭니다.

GetDeferral()

PrintTaskRequest와 연결된 지연 개체를 검색합니다. deferral 개체는 PrintTaskRequested 이벤트 처리기에서 비동기 호출을 처리하는 데 사용됩니다.

적용 대상

추가 정보