다음을 통해 공유


Windows Vista에 대한 새로운 루트 수준 전용 PPD 특성

Important

최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.

자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.

다음 목록에서는 Windows Vista부터 시작하는 새로운 PPD 특성에 대해 설명합니다. 이전 버전의 Windows Vista 버전과 이전 버전과의 호환성을 유지하려면 다음 코드로 이러한 특성을 둘러싸야 합니다.

*Ifdef: WINNT_60 ... *Endif: WINNT_60 blocks

MSPrintSchemaKeywordMap

MSPrintSchemaKeywordMap 특성은 PPD 기능 키워드에서 공용 인쇄 스키마 기능 키워드로의 매핑 또는 PPD 기능의 PPD 옵션 키워드에서 인쇄 스키마 기능의 공용 인쇄 스키마 옵션 키워드로의 매핑을 정의합니다.

MSPrintSchemaKeywordMap 에는 허용되는 두 가지 형식이 있습니다.

형식 1

*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword *<PPD_feature_keyword>

형식 2

*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword PrintSchema_option_keyword *<PPD_feature_keyword> <PPD_option_keyword>

두 형식의 PPD 기능 키워드 접두사(별표 [*])가 필요합니다.

형식 1의 경우:

  • PPD 기능 키워드는 이전 PPD 파일 콘텐츠에 이미 정의된 PPD 기능을 참조해야 합니다.

  • 동일한 PPD 기능에 대한 *MSPrintSchemaKeywordMap 의 여러 정의는 허용되지 않습니다. 여러 정의를 찾은 경우 첫 번째 정의만 수락되고 다른 정의는 무시됩니다.

형식 2의 경우:

  • PPD 기능의 옵션에 대한 *MSPrintSchemaKeywordMap 정의가 나타나려면 먼저 PPD 기능(형식 1 사용)에 대한 *MSPrintSchemaKeywordMap 정의가 있어야 합니다.

  • PPD 옵션에 대한 *MSPrintSchemaKeywordMap 정의에서 인쇄 스키마 기능 키워드에 대한 PPD 기능 키워드의 매핑은 형식 1을 사용하여 PPD 기능에 대한 이전 *MSPrintSchemaKeywordMap 정의에 정의된 것과 동일해야 합니다.

  • PPD 옵션 키워드는 이전 PPD 파일 콘텐츠에 이미 정의된 PPD 기능의 옵션을 참조해야 합니다.

  • PPD 기능의 동일한 PPD 옵션에 대한 *MSPrintSchemaKeywordMap 의 여러 정의는 허용되지 않습니다. 여러 정의를 찾은 경우 첫 번째 정의만 수락되고 다른 정의는 무시됩니다.

*MSPrintSchemaKeywordMap 항목이 이전 형식 규칙을 위반하는 경우 해당 항목은 무시되며 자세한 정보가 포함된 ppdchecker 경고가 표시됩니다.

*MSPrintSchemaKeywordMap은 다음 표준 PPD 기능과 함께 사용할 수 없습니다.

*Collate *Duplex *InputSlot *OutputBin *PageSize *Resolution *MediaType PPD 파일에서 이미 사용 중인 인쇄 스키마 키워드에 기능을 매핑하는 경우 해당 PrintCapabilities 문서에 해당 기능이 두 번 이상 나열될 수 있습니다. 여러 번 발생하면 혼동될 수 있으므로 PPD 파일에 사용되는 인쇄 스키마 키워드에 기능을 매핑해서는 안 됩니다.

PPD 파서는 InputBin 기능에 대한 FORMSOURCE 옵션을 자동으로 생성하고 인쇄 스키마의 자동 선택 키워드에 매핑합니다. PPD 파일에 MSPrintSchemaKeywordMap 특성을 사용하여 옵션을 인쇄 스키마 키워드에 매핑하는 InputBin 옵션이 포함된 경우 인쇄 스키마의 기능에는 디바이스 네임스페이스의 FORMSOURCE 옵션이 포함됩니다. AutoSelect는 PrintCapabilities 문서에 표시되고 PPD 파일의 MSPrintSchemaKeywordMap 특성에 지정된 옵션을 참조합니다.

다음 코드 예제에서는 부분 PPD 파일에서 MSPrintSchemaKeywordMap 특성의 예제를 보여 있습니다.

*OpenUI *IHVStapling:PickOne
*DefaultIHVStapling:Disabled
*IHVStapling Enabled:"..."
*IHVStapling Disabled:"..."
*CloseUI: *IHVStapling

*MSPrintSchemaKeywordMap: Staple*IHVStapling
*MSPrintSchemaKeywordMap: StapleOn*IHVStaplingEnabled
*MSPrintSchemaKeywordMap: StapleOff*IHVStaplingDisabled

MSPrintSchemaPrivateNamespaceURI

MsPrintSchemaPrivateNamespaceURI 특성은 PrintTicket 또는 PrintCapabilities에서 프라이빗 PPD 기능 또는 옵션을 노출하는 데 핵심 드라이버가 사용해야 하는 프라이빗 네임스페이스 URI를 정의합니다. 이 URI는 *MSPrintSchemaKeywordMap 정의를 사용하여 공용 인쇄 스키마에 명시적 매핑이 없는 모든 기능 또는 옵션에 적용됩니다.

MSPrintSchemaPrivateNamespaceURI 는 다음 형식을 사용합니다.

*MSPPrintSchemaPrivateNamespaceURI: "<URI>"

<URI> 는 PPD QuotedValue를 나타냅니다. PPD 사양에 정의된 대로 QuotedValue는 리터럴 ASCII 부분 문자열과 16진수 하위 문자열을 모두 허용합니다.

단일 프린터 모델의 PPD 파일(또는 파일)에는 *MSPrintSchemaPrivateNamespaceURI 정의가 하나만 있어야 합니다. 여러 정의가 발견되면 첫 번째 정의만 수락되고 다른 정의는 무시됩니다.

다음 코드 예제에서는 부분 PPD 파일에서 MsPrintSchemaPrivateNamespaceURI 특성의 예제를 보여 있습니다.

*MSPrivateNamespaceURI:  "https://www.ihv.com/schema/2004"

MSIsXPSDriver

MSIsXPSDriver 특성은 다음 형식을 사용합니다.

*MSIsXPSDriver:  True | False

Microsoft Win32 GDI 드라이버와 새 XPSDrv 드라이버 모두에 Windows Vista PScript5 드라이버 구성 모듈(Ps5ui.dll)을 사용할 수 있습니다. XPSDrv 드라이버에 PScript5 드라이버 구성 모듈을 사용하려면 XPSDrv 드라이버의 PPD 데이터 파일에서 MSIsXPSDriver를 지정하고 해당 값을 True로 설정해야 합니다.

다음 코드 예제에서는 부분 PPD 파일에서 이 특성의 예를 보여줍니다.

*MSIsXPSDriver: True

Win32 GDI 드라이버에 PScript5 드라이버 구성 모듈을 사용하려면 이 PPD 특성을 지정할 필요가 없습니다.

MSPrintProcDuplexOptions

MSPrintProcDuplexOptions 특성은 다음 형식을 사용합니다.

*MSPrintProcDuplexOptions:  "int"

이 특성에는 다음 값 중 하나가 있을 수 있습니다.

1: 역방향 이중에 대한 역방향 페이지

2: 가능한 경우 빈 추가 페이지 생성 안 함

3: 위의 두 가지 모두

0: 위의 내용 없음

다음 코드 예제에서는 부분 PPD 파일에서 MSPrintProcDuplexOptions예를 보여 줍니다.

*MSPrintProcDuplexOptions:  "2" 

이 특성은 인쇄 프로세서의 다양한 이중 옵션을 제어합니다.

MSPrintProcDuplexOptions가 1이면 인쇄 프로세서가 역방향 이중에서 페이지를 역방향으로 처리해야 하는지 여부를 제어합니다.

n-up = 1이 있는 4페이지 짜리 문서를 인쇄해야 하며 역방향 인쇄 및 이중 인쇄를 사용하려는 경우를 가정합니다. 역방향 인쇄를 원하므로 첫 번째 페이지 앞의 마지막 페이지를 인쇄하려고 합니다. 이중 인쇄를 원하기 때문에 용지 한 장의 두 페이지를 인쇄하려고 합니다. 인쇄 프로세서는 다음 두 가지 형식 중 하나로 페이지를 재생할 수 있습니다(각 숫자 쌍은 용지 한 장의 양면에 인쇄되는 두 페이지를 나타냅니다.)

  • 형식 1: (4,3),(2,1)

  • 형식 2: (3,4),(1,2)

Windows Vista 이전에는 인쇄 프로세서가 페이지를 2 [(3,4),(1,2)] 형식으로 인쇄합니다. 그러나 Windows Vista 이상에서 기본 형식은 형식 1 [(4,3),(2,1)]입니다. 이 변경은 많은 프린터에서 형식이 2인 잘못된 출력을 가지고 있기 때문에 발생했습니다. 즉, 인쇄되는 페이지는 적절한 순서로 정렬되지 않습니다.

프린터가 1 형식으로 올바르게 작동하는 경우 Windows Vista 이상에서는 아무것도 변경할 필요가 없습니다. 그러나 프린터가 형식 1에서 잘못 작동하고 형식 2로 되돌리려는 경우 값이 1인 MSPrintProcDuplexOptions 특성을 추가합니다.

*MSPrintProcDuplexOptions: "1"

Windows Vista PScript 이전 드라이버의 경우 Windows Vista 이전 인쇄 프로세서가 있는 경우 형식 2가 기본값이며 동작을 변경할 수 없습니다. 그렇지 않으면 Windows Vista 인쇄 프로세서가 있는 경우 형식 1이 기본값이며 동작을 변경할 수 없습니다.

Windows Vista PScript 드라이버의 경우 Windows Vista 이전 인쇄 프로세서가 있는 경우 형식 2가 기본값이며 PPD 특성은 무시됩니다. 그렇지 않으면 Windows Vista 인쇄 프로세서가 있는 경우 형식 1이 기본값이지만 MSPrintProcDuplexOptions 특성을 사용하여 형식을 변경할 수 있습니다.

MSPrintProcDuplexOptions가 2이면 인쇄 프로세서는 특정 이중 시나리오에서 빈 페이지 생성을 표시하지 않습니다.

예를 들어 작업이 한 페이지 작업이고 이중 작업이 있는 경우(n-up = 1이라고 가정) 시트의 한 쪽만 인쇄해야 합니다. 현재 프린터는 한쪽을 인쇄한 다음, 반대쪽에 빈 페이지를 생성합니다. (인쇄 작업이 duplex=on으로 시작되었으므로 프린터에서 시트를 꺼내기 전에 두 페이지가 필요합니다. 두 번째 페이지가 인쇄되지 않으면 일부 프린터가 계속 대기합니다.) 현재 솔루션의 단점은 다음과 같습니다.

  • 생성된 페이지는 회계 소프트웨어 및 프린터 내의 페이지 카운터에서 부정확한 페이지 수를 발생합니다.

  • 페이지가 프린터의 중간(일부 휴렛 팩커드 DeskJet 스타일 프린터)에서 나오면 프린터에서 다시 끌어오려고 시도하는 동안 사용자가 이 페이지를 꺼내려고 할 수 있습니다. 이 경우 하드웨어 문제가 발생할 수 있습니다.

PPD 파일에서 *MSPrintProcDuplexOptions: "2"를 지정하여 이전 문제를 방지할 수 있습니다.

이 특성을 설정하더라도 빈 페이지 최적화는 다음과 같은 제한된 경우에만 수행됩니다.

  1. 역방향 인쇄의 경우 전체 작업이 용지의 한 쪽에 맞을 수 있는 경우에만 빈 페이지 최적화가 수행됩니다(예: n-up=1이 있는 aone-page 작업 또는 n-up =4가 있는 4페이지 작업). 작업에 둘 이상의 시트가 필요한 경우 최적화가 수행되지 않습니다(프린터 페이지가 부정확한 순서로 인쇄되기 때문). 예를 들어 3페이지로 구성된 작업의 경우 4,3,2,000><>개 대신 3,2,1<번 순서로 페이지를 인쇄할 수 있습니다.

  2. 인쇄 프로세서가 복사본을 시뮬레이션해야 하는 경우 빈 페이지 최적화가 수행되지 않습니다. 필요한 복사본 수가 인쇄 프로세서에서 만들 수 있는 복사본 수보다 많은 경우 인쇄 프로세서는 복사본을 시뮬레이션합니다.

    다음 상황은 시뮬레이션이 발생하고 빈 페이지가 생성되는 경우의 예입니다(필요한 경우).

    • 복사본을 만들 수 없는 프린터의 복사본 2개

    시뮬레이션이 발생하지 않고 추가 페이지 생성을 억제할 수 있는 경우의 예는 다음과 같습니다.

    • 복사본을 만들 수 없는 프린터에 대한 단일 복사 작업
    • 복사본 이상을 만들 수 있는 프린터에 대한 5개 복사 작업

Windows Vista PScript 이전 드라이버의 경우 Windows Vista 이전 인쇄 프로세서가 있는 경우 필요한 경우 프린터에서 빈 페이지를 추가로 인쇄하고 동작을 변경할 수 없습니다. 그렇지 않으면 Windows Vista 인쇄 프로세서가 있는 경우 필요한 경우 프린터에서 빈 페이지를 추가로 인쇄하고 동작을 변경할 수 없습니다.

Windows Vista PScript 드라이버의 경우 Windows Vista 이전 인쇄 프로세서가 있는 경우 필요한 경우 프린터에서 빈 페이지를 추가로 인쇄하고 PPD 특성은 무시됩니다. 그렇지 않으면 Windows Vista 인쇄 프로세서가 있고 적절한 PPD 특성과 적절한 조건(즉, 빈 페이지 인쇄 방지에 대해 앞에서 설명한 조건)이 있는 경우 프린터는 빈 페이지를 인쇄하지 않습니다.

MSBidiQueryFile

MSBiDiQueryFile 특성은 다음 형식을 사용합니다.

*MSBidiQueryFile: "filename"

MSBiDiQueryFile을 사용하여 프린터 드라이버의 자동 구성 BidiQuery 및 BidiResponse 데이터를 포함하는 GPD 또는 GDL 파일 이름을 지정합니다. GPD 또는 GDL 파일 이름은 경로를 지정해서는 안 됩니다.

다음 코드 예제에서는 부분 PPD 파일에서 MSBiDiQueryFile예제를 보여줍니다.

*MSBidiQueryFile: "ACnfgPS.GDL"

MSXPSMaxCopies

MSXPSMaxCopies 특성은 다음 형식을 사용합니다.

*MSXPSMaxCopies: "int"

MSXPSMaxCopies를 사용하여 XPSDrv 프린터 드라이버에서 지원할 수 있는 최대 복사본 수를 지정합니다.

다음 코드 예제에서는 부분 PPD 파일에서 MSXPSMaxCopies예제를 보여 있습니다.

*MSXPSMaxCopies: "99"