다음을 통해 공유


인쇄 미리 보기 UI에서 표준 옵션을 변경하는 방법(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

이 자습서에서는 인쇄 미리 보기 UI에 표시된 인쇄 옵션을 사용자 지정하는 방법에 대해 설명합니다.

기본적으로 인쇄 미리 보기 UI에 표시되는 옵션은 다음과 같습니다.

colorMode copies orientation

 

Windows에는 위의 설정 이외에도 인쇄 미리 보기 UI에 추가할 수 있는 몇 가지 다른 일반 프린터 옵션이 있습니다. 이러한 다른 일반 옵션은 다음과 같습니다.

binding collation duplex holePunch
inputBin mediaSize mediaType nUp
printQuality staple    

 

이러한 옵션은 standardPrintTaskOptions 클래스에 정의되어 있습니다. 인쇄 미리 보기 UI에 표시되는 옵션 목록에서 옵션을 추가하거나 제거할 수 있습니다. 또한 옵션이 표시되는 순서를 변경하고 사용자에게 표시되는 기본 설정을 지정할 수도 있습니다.

단, 이 메서드를 사용하여 수정한 사항은 인쇄 미리 보기 UI에만 적용됩니다. 사용자는 인쇄 미리 보기 UI에서 기타 설정을 클릭하여 프린터에서 지원하는 모든 옵션에 항상 액세스할 수 있습니다.

앱에서는 표시될 인쇄 옵션을 어떤 것이든 지정할 수 있지만 선택한 프린터에서 지원하는 옵션만 인쇄 미리 보기 UI에 표시됩니다. 선택한 프린터가 지원하지 않는 옵션은 인쇄 미리 보기 UI에 표시되지 않습니다.

로드맵: 이 항목은 다음 항목과 연관되어 있습니다. 참고 항목:

알아야 할 사항

기술

사전 요구 사항

  • HTML, JavaScript, Windows 이벤트와 이벤트 처리에 대해 잘 알고 있어야 합니다.
  • Microsoft Visual Studio가 설치되어 있어야 합니다.
  • 프린터가 설치되어 있어야 합니다.
  • 인쇄 단추를 추가할 Windows 스토어 앱이 있어야 합니다. 자신이 개발한 앱이 없는 경우 인쇄 샘플 샘플 앱을 다운로드하여 사용할 수 있습니다.
  • 앱에서 이미 기본 Windows 인쇄를 지원해야 합니다. 그렇지 않은 경우 빠른 시작: 앱에서 인쇄 항목에서 기본 Windows 인쇄 지원을 앱에 추가하는 방법을 참조하세요.

지침

단계 1: Visual Studio에서 앱 열기

이 자습서에 설명되어 있는 절차는 인쇄 샘플 샘플 앱PrintSampleJS 앱을 참조합니다. 앱의 인쇄 미리 보기 UI를 사용자 지정하려면 Visual Studio에서 인쇄 샘플 샘플 앱 대신 자신이 개발한 앱을 여세요.

  1. 인쇄 샘플 샘플 앱(영문)을 열고 JavaScript 예제를 컴퓨터에 다운로드합니다.
  2. Visual Studio에서 File > Open Project를 클릭하고 앞 단계에서 다운로드한 샘플 앱의 솔루션 파일이 있는 폴더로 이동합니다.
  3. PrintSampleJS 솔루션 파일을 선택하고 열기를 클릭합니다.

단계 2: 앱 빌드 및 테스트

  1. 빌드 > 솔루션 빌드를 클릭하여 작업 중인 앱을 빌드합니다. 화면 아래쪽에 있는 출력 창에 오류 메시지가 없는지 확인합니다.
  2. 디버그 > 디버깅하지 않고 시작을 클릭합니다.
  3. 몇 초 후 화면에 인쇄 샘플 JS 앱이 표시되는지 확인합니다.
  4. 앱이 오류 없이 실행되면 Visual Studio로 돌아간 다음 디버그 > 디버깅 중지를 클릭합니다.

단계 3: 표시할 인쇄 옵션 정의

앱의 화면이 로드되면 앱이 인쇄 계약을 등록합니다. 등록 과정에 PrintTaskRequested 이벤트 처리기를 정의하는 것이 포함됩니다. 인쇄 미리 보기 UI에 표시되는 옵션을 사용자 지정할 코드가 PrintTaskRequested 이벤트 처리기에 추가됩니다.

PrintTaskRequested 이벤트 처리기가 printTask.options 지시문을 포함하도록 수정합니다. 이 지시문은 인쇄 미리 보기 UI에 표시할 인쇄 설정을 구성합니다.

  1. 앱에서 PrintTaskRequested 이벤트 처리기를 찾습니다. 인쇄 샘플 샘플 앱에서 기본 PrintTaskRequested 이벤트 처리기는 이 예제와 유사하게 나타납니다.

    function onPrintTaskRequested(printEvent) {
        var printTask = printEvent.request.createPrintTask("Print Sample", function (args) {
            args.setSource(MSApp.getHtmlPrintDocumentSource(document));
    
            // Register the handler for print task completion event
            printTask.oncompleted = onPrintTaskCompleted;
        });
    }
    
    function onPrintTaskCompleted(printTaskCompletionEvent) {
        // Notify the user about the failure
        if (printTaskCompletionEvent.completion === Windows.Graphics.Printing.PrintTaskCompletion.failed) {
            WinJS.log && WinJS.log("Failed to print.", "sample", "error");
        }
    }
    
  2. 인쇄 미리 보기 UI에 표시할 인쇄 옵션을 추가합니다. 옵션은 추가한 순서대로, 인쇄 미리 보기 UI에 세로로 표시됩니다. 처음 추가한 옵션은 맨 위에 오고 나머지 옵션은 그 아래에 차례로 배치됩니다.

    참고  이 코드는 인쇄 샘플 샘플 앱의 scenario3.js에서 가져온 것입니다. 이 코드를 앱에 추가하는 경우 인쇄 미리 보기 UI에서 사용자에게 표시할 인쇄 옵션을 할당하세요.

     

    중요  printTask.options.displayedOptions.clear()을 호출하면 인쇄 미리 보기 UI에서 기타 설정 링크만 남고 모든 인쇄 옵션이 제거됩니다. 인쇄 미리 보기 UI에 표시할 옵션을 지정하려면 append 메서드를 사용해야 합니다.

     

    function onPrintTaskRequested(printEvent) {
        var printTask = printEvent.request.createPrintTask("Print Sample", function (args) {
            args.setSource(MSApp.getHtmlPrintDocumentSource(document));
    
            // 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
            printTask.options.displayedOptions.clear();
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.copies);
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.mediaSize);
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.orientation);
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.duplex);
    
            // Preset the default value of the printer option
            printTask.options.mediaSize = Windows.Graphics.Printing.PrintMediaSize.northAmericaLegal;
    
            // Register the handler for print task completion event
            printTask.oncompleted = onPrintTaskCompleted;
        });
    }
    
  3. 앞에서 설명한 대로 앱을 빌드하고 테스트합니다.

설명

Windows 스토어 앱의 다른 인쇄 시나리오를 보려면 인쇄 샘플 샘플 앱을 참조하세요.

관련 항목

Windows 스토어 앱 인쇄 샘플

빠른 시작: 앱에서 인쇄

인쇄 가능한 Windows 스토어 앱 개발을 위한 모범 사례