다음을 통해 공유


드라이버 기능

Important

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

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

드라이버 기능은 드라이버에서 합성되는 PPD가 아닌 기능입니다(예: %OutputFormat 기능). PPD 기능 키워드와의 이름 충돌을 방지하기 위해 모든 드라이버 기능 키워드 이름 앞에는 "%" 문자가 있습니다. 드라이버 기능/옵션 키워드도 대/소문자를 구분합니다.

드라이버에서 지원하는 모든 드라이버 기능 키워드 목록을 가져오기 위해 플러그 인은 EnumFeatures를 호출하여 드라이버 기능과 PPD 기능을 모두 포함하는 기능 키워드 목록을 반환할 수 있습니다. 그런 다음 플러그 인은 "%" 접두사로 시작하는 기능 키워드 이름을 검색하여 드라이버 기능 목록을 가져올 수 있습니다.

다음 표에서는 현재 지원되는 드라이버 기능을 나열합니다. 테이블의 각 행은 드라이버 기능 키워드를 나열하고, 지원되는 옵션을 표시하며, EnumOptions 호출에서 기능의 옵션을 열거할 수 있는지 여부를 명시하고, 간단한 설명을 제공합니다.

드라이버 기능 지원되는 옵션 열거형 옵션 설명 및 설명
%AddEuro "True"

"False"
장치 글꼴에 유로 기호를 추가합니다.

이 기능은 수준 2 이상 프린터에서만 지원됩니다. 수준 1 프린터의 경우 SetOptions 는 이 기능을 무시하고 GetOptions는 항상 "False"를 반환합니다 .
%CtrlDAfter "True"

"False"
각 작업 후에 Ctrl-D를 보냅니다.

프린터 고정
%CtrlDBefore "True"

"False"
각 작업 전에 Ctrl-D를 보냅니다.

프린터 고정
%CustomPageSize 자세한 내용은 아래 참고 1을 참조하세요. 아니요 PostScript 사용자 지정 페이지 크기 매개 변수를 지정합니다.

문서 고정
%GraphicsTrueGray "True"

"False"
회색 그래픽을 PostScript 회색으로 변환합니다.

프린터 고정
%JobTimeout 0에서 2,147,483,647까지의 제한 시간(초)에 대한 부호 없는 정수(초)를 나타내는 소수 자릿수 문자를 포함하는 NULL로 끝나는 ANSI 문자열입니다.

SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다.
아니요 작업 시간 제한 값을 지정합니다.

프린터 고정
%MaxFontSizeAsBitmap 0에서 32,767 사이의 부호 없는 정수 픽셀 수를 나타내는 소수 자릿수 문자를 포함하는 NULL로 끝나는 ANSI 문자열입니다.

SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다.
아니요 비트맵으로 다운로드할 최대 글꼴 크기를 지정합니다.

프린터 고정
%MetafileSpooling "True"

"False"
고급 인쇄 기능을 사용하거나 사용하지 않도록 설정합니다.

문서 고정

자세한 내용은 아래 참고 2를 참조하세요.
%MinFontSizeAsOutline 0에서 32,767 사이의 부호 없는 정수 픽셀 수를 나타내는 소수 자릿수 문자를 포함하는 NULL로 끝나는 ANSI 문자열입니다.

SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다.
아니요 개요로 다운로드할 최소 글꼴 크기를 지정합니다.

프린터 고정
%Mirroring "True"

"False"
가로 좌표를 반전하여 출력을 미러링합니다.

문서 고정
%Negative "True"

"False"
흑백 값을 반전하여 음수 출력을 생성합니다. 이 기능은 흑백 프린터에서만 지원됩니다. 컬러 프린터의 경우 SetOptions 는 이 기능을 무시하고 GetOptions는 항상 "False"를 반환합니다 .

문서 고정
%Orientation "Portrait", "Landscape", "RotatedLandscape" 출력 방향을 지정합니다.

문서 고정
%OutputFormat "Speed", "Portability", "EPS", "Archive" PostScript 출력 형식을 지정합니다.

문서 고정

자세한 내용은 아래 참고 5를 참조하세요.
%OutputProtocol "ASCII", "BCP", "TBCP", "Binary" 프린터에서 인쇄 작업에 사용할 프로토콜을 지정합니다. PostScript 프린터는 "ASCII" 및 "Binary"를 지원하는 것으로 간주되므로 이러한 옵션은 항상 사용할 수 있습니다. "BCP" 및 "TBCP" 옵션은 지원되는 경우에만 사용할 수 있습니다. 이를 확인하려면 전역 특성 "프로토콜"을 확인합니다.

프린터 고정
%OutputPSLevel "1", "2", "3" 아니요 인쇄 작업에 사용할 PostScript 언어 수준을 지정합니다. 이 설정은 "LanguageLevel" 전역 특성에 지정된 값보다 크지 않습니다.

문서 고정
%PageOrder "FrontToBack"

"BackToFront"
페이지를 인쇄할 순서를 지정합니다.

문서 고정

자세한 내용은 아래 참고 3을 참조하세요.
%PagePerSheet "1", "2", "4", "6",

"9", "16", "소책자"
실제 시트당 논리 페이지 수를 지정합니다. 이 기능을 "N-up" 인쇄라고도 합니다.

문서 고정

자세한 내용은 아래의 참고 4를 참조하세요.
%PSErrorHandler "True"

"False"
PostScript 보내기 오류 처리기입니다.

문서 고정
%PSMemory 0에서 2,147,483,647까지의 PostScript 메모리의 부호 없는 정수 수 킬로바이트 수를 나타내는 소수 자릿수 문자를 포함하는 NULL로 끝나는 ANSI 문자열입니다.

SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다.
아니요 사용 가능한 PostScript 가상 메모리의 양을 지정합니다.

핵심 드라이버의 처리에는 특정 양의 사용 가능한 PostScript 가상 메모리가 필요합니다. %PSMemory가 이 최소값 아래로 설정되면 최소값이 새 값으로 사용됩니다. 현재 최소값은 수준 1 프린터의 경우 172KB, 수준 2 이상 프린터의 경우 249KB입니다.

프린터 고정
%TextTrueGray "True"

"False"
회색 텍스트를 PostScript 회색으로 변환합니다.

프린터 고정
%TTDownloadFormat "Automatic", "Outline", "Bitmap", "NativeTrueType" TrueType 글꼴 다운로드 형식을 지정합니다. "NativeTrueType"은 "TTRasterizer" 전역 특성이 "Type42"에 대한 지원을 나타내는 경우에만 지원됩니다.

문서 고정
%WaitTimeout 0에서 2,147,483,647까지의 제한 시간(초)에 대한 부호 없는 정수(초)를 나타내는 소수 자릿수 문자를 포함하는 NULL로 끝나는 ANSI 문자열입니다.

SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다.
아니요 대기 시간 제한 값을 지정합니다.

프린터 고정

드라이버 기능 키워드에 대한 참고 사항

  1. %CustomPageSize 드라이버 기능에는 x, y, WidthOffset, HeightOffset 및 FeedDirection의 5가지 옵션 값이 있습니다. 이러한 매개 변수에 대한 자세한 설명은 PostScript 프린터 설명 파일 형식 사양 버전 4.3의 섹션 5.16을 참조하세요.

    %CustomPageSize 항목에는 %CustomPageSize 키워드와 x, y, WidthOffset, HeightOffset 및 FeedDirection 옵션 값이 포함되어 있습니다. 첫 번째 항목은 %CustomPageSize 키워드와 NULL 문자입니다. x, y, WidthOffset 및 HeightOffset의 값은 이 키워드를 따르고 부호 없는 소수 자릿수의 하위 문자열로 나타나며, 각각 해당 옵션 값의 PostScript 포인트 수를 나타냅니다. 이러한 각 숫자 값 뒤에는 하나 이상의 공백 또는 탭 문자가 잇습니다. 문자열의 마지막 항목은 FeedDirection의 값이며 NULL 문자로 종료됩니다. FeedDirection에 대한 옵션은 "LongEdge", "ShortEdge"(방향 0 및 1에 해당) 및 "LongEdgeFlip", "ShortEdgeFlip"(방향 2 및 3에 해당)입니다. 지원되는 피드 지침은 *LeadingEdge PPD 기능 키워드를 확인합니다.

    GetOptions의 경우 pmszFeatureOptionBuf가 가리키는 출력 버퍼는 이전 단락에 설명된 대로 표시됩니다. 다음 예제에서 x 값은 612, y 값은 792, WidthOffset 및 HeightOffset 값은 모두 0이고 FeedDirection 값은 "ShortEdge"입니다.

    "%CustomPageSize\0612 792 0 0 ShortEdge\0"
    

    SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다. 그렇지 않으면 위에서 설명한 대로 pmszFeatureOptionBuf 가 가리키는 입력 버퍼를 생성해야 합니다.

  2. %CustomPageSize 드라이버 기능은 다음 세 가지 조건이 모두 충족되는 경우에만 지원됩니다.

    1. PPD 파일에는 *CustomPageSize 기능이 포함되어 있습니다.

    2. *PPD-Adobe 키워드의 값이 4.3보다 크거나 같거나 *UseHWMargin: Roll-fed 디바이스를 나타내도록 False가 지정되었습니다.

    3. *PageSize PPD 기능의 현재 선택 옵션은 CustomPageSize입니다.

  3. 이 기능은 스풀러 EMF 스풀링을 사용하는 경우에만 지원됩니다.

    지원되는 경우 이 기능의 옵션을 "False"로 설정하면 다음 EMF 관련 기능이 변경됩니다.

    1. %PagePerSheet가 "Booklet"이면 "1"로 변경됩니다.

    2. Collate가 "True"(DEVMODEW 구조의 공용 부분에서 직접 설정되거나 *Collate PPD 기능에서 SetOptions 를 호출하여 설정할 수 있음)로 설정되어 있지만 현재 데이터 정렬 기능을 사용할 수 없는 경우 Collate는 "False"로 설정됩니다.

    3. %PageOrder가 프린터의 현재 출력 순서 설정과 반대인 경우 %PageOrder는 프린터 값으로 반전됩니다.

  4. 이 기능은 스풀러 EMF 스풀링을 사용하는 경우에만 지원됩니다.

    지원되는 경우 이 기능을 설정하면 다음이 발생할 수 있습니다.

    1. 프린터의 PPD 파일에 *OutputOrder 기능 키워드가 포함된 경우 해당 옵션 선택이 %PageOrder 기능에 대한 새 설정의 출력 순서와 일치하도록 변경됩니다. 이는 스풀러가 불필요한 페이지 순서 시뮬레이션을 수행하지 못하도록 하기 위해 수행됩니다.

    2. 프린터의 PPD 파일에 *OutputOrder 기능이 포함되어 있지 않고 %PageOrder 드라이버 기능의 새 설정이 프린터의 현재 출력 순서 설정과 반대이고 %MetafileSpooling 드라이버 기능이 "False"이면 %MetafileSpooling이 "True"로 다시 설정됩니다.

  5. "Booklet" 옵션은 스풀러 EMF 스풀링을 사용하도록 설정하고 이중 기능을 사용할 수 있는 경우에만 지원됩니다.

    "Booklet" 옵션이 지원되면 %PagePerSheet 드라이버 기능을 "Booklet"으로 설정하면 다음과 같은 변경이 발생할 수 있습니다.

    1. %MetafileSpooling 드라이버 기능이 "False"이면 "True"로 다시 설정됩니다.

    2. *이중 PPD 기능이 없음으로 설정된 경우 *이중 기능은 PPD 파일에 정의된 첫 번째 비 단순성 옵션으로 다시 설정됩니다.

  6. "EPS"(캡슐화된 PostScript)를 제외하고 %OutputFormat 드라이버 기능에 지정된 형식은 다음 두 가지 특성에 따라 분류됩니다.

    1. 출력 PostScript 코드가 페이지 순서와 독립적입니까?

    2. 출력 PostScript 코드에 디바이스 제어 명령(일반적으로 setpagedevice 연산자를 사용)이 포함됩니까?

      범주 페이지 순서 독립적 setpagedevice
      보관 아니요
      이식성
      속도

드라이버 기능 키워드에서 GetOptions를 호출하는 경우, 요청된 기능 키워드가 인식되지 않거나 기능 키워드가 인식되지만 현재 문서 고정 또는 프린터 고정 모드에서 지원되지 않는 경우(드라이버 제공 속성 시트 페이지 바꾸기 참조) 기능은 무시되고 출력 버퍼에는 해당 기능/옵션 키워드 쌍이 포함되지 않습니다.

예를 들어 GetOptions 메서드가 호출되고 pmszFeaturesRequested 입력 버퍼에 다음 문자열(MULTI_SZ 형식)이 포함되어 있다고 가정합니다.

"Resolution\0%CustomPageSize\0Unknown_Name\0%Orientation\0\0"

GetOption이 반환되면 pmszFeatureOptionBuf 출력 버퍼에 이 문자열(MULTI_SZ 형식)이 포함될 수 있습니다.

"Resolution\0300dpi\0%CustomPageSize\0612 792 0 0 ShortEdge\0%Orientation\0RotatedLandscape\0\0"

첫 번째 문자열에 나열된 Unknown_Name 기능(존재하지 않음)은 Pscript 드라이버에서 인식되지 않았기 때문에 두 번째 문자열에 표시되지 않습니다. 다른 기능인 해상도, %CustomPageSize%Orientation은 출력 문자열에 "300dpi", "612 792 0 ShortEdge" 및 "RotatedLandscape"인 현재 옵션과 함께 표시됩니다. %CustomPageSize 옵션에 대한 설명은 드라이버 기능을 참조하세요.

드라이버 기능 키워드에서 SetOptions가 호출되면 pmszFeatureOptionBuf가 가리키는 입력 버퍼의 요청된 기능 키워드 또는 옵션 키워드가 인식되지 않거나 기능이 인식되지만 현재 문서 고정 또는 프린터 고정 모드에서 지원되지 않는 경우(드라이버 제공 속성 시트 페이지 바꾸기 참조)또는 기능 키워드와 해당 옵션 키워드가 모두 인식되지만 해당 기능에 대해 옵션 키워드가 유효하지 않습니다(예: Type42 TTRasterizer를 지원하지 않는 프린터에서 %TTDownloadFormat을 "NativeTrueType"으로 설정하려고 시도). 그러면 해당 기능/옵션 쌍이 무시되고 해당 기능에 대한 현재 옵션이 계속 적용됩니다.

pmszFeatureOptionBuf가 가리키는 버퍼의 기능/옵션 키워드 쌍 순서는 SetOptions 호출의 결과에 영향을 줄 수 있습니다. 예를 들어 다음과 같은 두 가지 순서는 서로 다른 결과를 갖습니다.

pmszFeatureOptionBuf %PagePerSheet %MetafileSpooling
"%MetafileSpooling\0False\0%PagePerSheet\0Booklet\0\0" "소책자" "True"
"%PagePerSheet\0Booklet\0%MetafileSpooling\0False\0\0" "1" "False"

이러한 결과가 발생하는 이유에 대한 설명은 위의 %MetafileSpooling에서 참고 3을 참조하세요.