다음을 통해 공유


보호된 인쇄를 위한 드라이버 지원

중요

인쇄 지원 앱(PSA)과 함께 Microsoft의 IPP 받은 편지함 클래스 드라이버를 사용하여 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하는 것이 좋습니다.

자세한 내용은 인쇄 지원 앱 디자인 가이드를 참조하세요.

Windows 8.1 보호된 인쇄에 대한 지원이 포함되어 있어 사용자가 인쇄되기 전에 프린터에서 사용되는 PIN(개인 식별 번호)을 지정할 수 있습니다.

또한 Windows 8.1 관리자는 인쇄되지만 사용자가 검색하지 않는 콘텐츠와 관련된 낭비되는 용지 소비를 줄이기 위해 기본 PIN을 지정할 수 있습니다. 이 항목에서는 보호된 인쇄에 대한 지원을 제공할 수 있게 한 변경 내용에 대해 설명하고 v4 인쇄 드라이버에 이 지원을 추가하는 데 필요한 단계를 간략하게 설명합니다.

Windows 8.1 PrintTicket 및 PrintCapabilities 문서에서 보호된 인쇄를 지정하는 데 사용할 수 있는 새로운 인쇄 스키마 키워드를 도입했습니다. 이러한 키워드는 새 printschemakeywordsv11 네임스페이스에 정의되어 있습니다. 이 네임스페이스의 URI는 다음과 같습니다.

https://schemas.microsoft.com/windows/2013/05/printing/printschemakeywordsv11

PrintTicket 파일에서 보호된 인쇄를 지정하는 방법을 보려면 PIN 인쇄를 위한 샘플 PrintTicket 파일을 참조하세요. PrintCapabilities 파일에서 보호된 인쇄를 지정하는 방법을 보려면 PIN 인쇄용 샘플 PrintCapabilities 파일을 참조하세요.

사양은 여기에서 다운로드할 수 있습니다.

인쇄 스키마 사양 1.1

인쇄 스키마 사양 2.0

드라이버 변경 내용

v4 드라이버로 작업하는 경우 GPD(일반 프린터 설명) 또는 PPD(PostScript 프린터 설명) 파일 및 기타 드라이버 관련 코드 파일을 변경해야 합니다. 변경 내용의 영향을 받는 드라이버 관련 코드 파일은 다음과 같이 분류할 수 있습니다.

  • 드라이버 구성 파일(GPD 또는 PPD)
  • XPS 렌더링 필터
  • 프린터 확장
  • UWP 장치 앱

OU는 PTProvider 코드에서 필요한 변경을 하는 한 보호된 인쇄를 위해 인쇄 스키마 키워드와 함께 v3 드라이버를 사용할 수 있습니다. 그러나 이러한 변경을 위한 단계는 이 항목의 scope 벗어났습니다.

다음 섹션에서는 v4 드라이버가 보호된 인쇄를 지원할 수 있도록 변경 내용을 구현하는 방법에 대해 자세히 설명합니다.

드라이버 구성 파일

v4 인쇄 드라이버의 DataFile에서 보호된 인쇄를 지원함을 나타냅니다. DataFile은 드라이버에서 사용하는 GPD 또는 PPD 파일입니다. 보호된 인쇄를 사용하려면 MinLength 및 MaxLength 지시문을 모두 지정해야 합니다. 다음 표에서는 드라이버의 GPD 또는 PPD 파일에 추가해야 하는 관련 키워드에 대해 설명합니다.

GPD 파일에 추가할 내용

드라이버에서 GPD 파일을 사용하는 경우 이 구문을 사용하여 다음 새 키워드를 추가합니다.

키워드 설명 Level 허용되는 값 예제
*JobPasscodeMinLength 지원되는 PIN 숫자 문자열의 최소 길이입니다.

이 값은 4 이상이어야 하며 15보다 크지 않아야 합니다.
Root 모든 GPD 숫자 값 *JobPasscodeMinLength: 4
*JobPasscodeMaxLength 지원되는 PIN 숫자 문자열의 최대 길이입니다.

이 값은 4 이상이어야 하며 15보다 크지 않아야 합니다. *JobPasscodeMinLength 값보다 크거나 같아야 합니다.
Root 모든 GPD 숫자 값 *JobPasscodeMaxLength: 9

PPD 파일에 추가할 내용

드라이버에서 PPD 파일을 사용하는 경우 이 구문을 사용하여 다음 새 키워드를 추가합니다.

키워드 설명 Level 허용되는 값 예제
MSJobPasscodeMinLength 지원되는 PIN 숫자 문자열의 최소 길이입니다.

이 값은 4 이상이어야 하며 15보다 크지 않아야 합니다.
Root "int"(QuotedValue)

즉, 정수 값은 따옴표로 표현되어야 합니다.
*MSJobPasscodeMinLength: "4"
MSJobPasscodeMaxLength 지원되는 PIN 숫자 문자열의 최대 길이입니다.

이 값은 4 이상이어야 하며 15보다 크지 않아야 합니다. *MSJobPasscodeMinLength 값보다 크거나 같아야 합니다.
Root "int"(QuotedValue)

즉, 정수 값은 따옴표로 표현되어야 합니다.
*MSJobPasscodeMaxLength: "9"

하드웨어 제약 조건 지정

하드 드라이브와 같은 설치 가능한 하드웨어 없이 PIN 인쇄를 지원하지 않는 디바이스가 있는 경우 GPD 또는 PPD 파일을 사용하여 이러한 제약 조건을 지정합니다. 이렇게 하려면 GPD 또는 PPD 파일을 편집하여 JobPasscode 기능과 JobPasscode 옵션(켜기 및 끄기)을 모두 표시해야 합니다. ON/OFF 옵션은 PrintSchemaKeywordMap 또는 MSPrintSchemaKeywordMap을 적절한 값으로 설정해야 합니다.

소프트웨어 제약 조건

지원되지 않습니다.

하드웨어 제약 조건

다음 표에서는 보호된 인쇄 및 하드웨어 제약 조건에 대한 지원을 지정하려는 경우 사용해야 하는 키워드의 유효한 값을 보여 줍니다.

파일 형식 키워드 유효한 값 GPD *Feature JobPasscode *Option

  • OFF
  • 켜기

*PrintSchemaKeywordMap

  • "Off"
  • "On"
  • "JobPasscode"

PPD *Feature JobPasscode *Option

  • OFF
  • 켜기

*MSPrintSchemaKeywordMap

  • "Off"
  • "On"
  • "JobPasscode"

GPD 및 PPD 파일 예제

다음은 설치 가능한 하드웨어 제약 조건을 사용하여 JobPasscode를 지정하는 GPD 파일의 예입니다.

*%
*GPDSpecVersion: "1.0"
*GPDFileVersion: "1.0"

*Include:        "StdNames.gpd"
*Include:        "MSxpsinc.gpd"
*ResourceDLL:    "unires.dll"

*GPDFileName:    "FAsmpl.gpd"
*ModelName:      "Fabrikam JobPasscode Sample"
*MasterUnits:    PAIR(1200, 1200)
*PrinterType:    PAGE
*MaxCopies:      999

*JobPasscodeMinLength: 4
*JobPasscodeMaxLength: 15

*%******************************************************************************
*%                             JobPasscode
*%******************************************************************************
*Feature: JobPasscode
{
    *Name: "Job Passcode"
    *DefaultOption: OFF
    *ConcealFromUI: TRUE
    *PrintSchemaKeywordMap: "JobPasscode"

    *Option: OFF
    {
     *PrintSchemaKeywordMap: "Off"
        *Name: "Off"
    }

    *Option: ON
    {
     *PrintSchemaKeywordMap: "On"
        *Name: "On"
    }
}

*Feature:PrinterHardDisk
{
    *rcNameID: RESDLL.PCL5ERES.430
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
     *DisabledFeatures: LIST(JobPasscode)
        *rcNameID: RESDLL.PCL5ERES.444
    }
    *Option: TRUE
    {
        *rcNameID: RESDLL.PCL5ERES.443
    }
}

*ConcealFromUI 키워드(keyword) 사용하여 보호된 인쇄 옵션이 의도치 않게 표시되지 않도록 TRUE로 설정해야 합니다. 앞의 GPD 파일 예제를 참조하세요.

다음은 설치 가능한 하드웨어 제약 조건을 사용하여 JobPasscode를 지정하는 PPD 파일의 예입니다.

*MSJobPasscodeMinLength: "4"
*MSJobPasscodeMaxLength: "15"

*OpenGroup: InstallableOptions/Installable Options

*% ===== Optional Hard Disk =====
*OpenUI *HardDisk/Printer Hard Disk: Boolean
*DefaultHardDisk:  False
*HardDisk False/Not Installed: ""
*HardDisk True/Installed: ""
*CloseUI: *HardDisk

*CloseGroup: InstallableOptions

*% ===== JobPasscode Feature =====
*OpenUI *JobPasscode: PickOne
*DefaultJobPasscode: On
*JobPasscode On: ""
*CloseUI: *JobPasscode

*MSPrintSchemaKeywordMap: JobPasscode  *JobPasscode
*MSPrintSchemaKeywordMap: JobPasscode  On *JobPasscode On

*UIConstraints: *HardDisk False *JobPasscode

이전 PPD 파일 예제에서 볼 수 있듯이 *UIConstraints 키워드(keyword) 하드웨어 제약 조건을 나타냅니다.

Windows 운영 체제는 보호된 인쇄 기능 및 관련 옵션에 대한 로캘별 문자열을 자동으로 표시합니다. 이 기능 또는 해당 옵션에 대한 새 지역화된 이름을 지정할 수 없습니다.

XPS 렌더링 필터

이러한 드라이버가 PIN 값의 PrintTicket 표현을 디바이스가 이해하는 값으로 변환할 수 있도록 기존 디바이스의 드라이버에서 렌더링 코드를 변경해야 합니다. 일반적으로 기존 XPS 렌더링 필터에 코드를 추가하거나 보호된 인쇄를 지원하기 위해 새 XPS 렌더링 필터를 추가해야 합니다. PCL6 및 PostScript에 표준 XPS 렌더링 필터를 사용하는 드라이버는 해당 필터 파이프라인에 대한 새 스트림 필터를 개발해야 합니다. 이 새 스트림 필터는 스트림이 표준 필터를 통과한 후 필터 파이프라인에서 미리 렌더링된 PDL 스트림에 적절한 명령을 삽입합니다.

클라이언트 또는 서버 PC에서 렌더링 요구 사항을 최소화하려면 XPS 또는 OpenXPS를 지원하는 모든 새 디바이스는 추가 변환을 사용하지 않고 새 키워드를 지원해야 합니다.

프린터 확장

프린터 확장은 인쇄 기본 설정 UI에서 보호된 인쇄에 대한 컨트롤을 표시할 수 있어야 합니다. 이렇게 하면 데스크톱 앱 사용자가 프린터 확장을 사용할 때 보호된 인쇄 기능을 구성할 수 있습니다. Microsoft는 IPrintSchemaTicket API 제품군이 프린터 확장에서 보호된 인쇄를 지원할 수 있도록 변경하고 있습니다.

UWP 장치 앱

또한 Microsoft는 IPrintSchemaTicket API 제품군이 UWP 디바이스 앱과 함께 작동하여 인쇄 기본 설정 UI에서 보호된 인쇄에 대한 컨트롤을 표시할 수 있도록 변경하고 있습니다.