드라이버 기능
드라이버 기능은 드라이버에 의해 합성되는 PPD가 아닌 기능입니다(예: %OutputFormat 기능). 이름이 PPD 기능 키워드와 충돌하지 않도록 하기 위해 모든 드라이버 기능 키워드 이름 앞에는 "%" 문자가 있습니다. 드라이버 기능/옵션 키워드도 대/소문자를 구분합니다.
드라이버에서 지원하는 모든 드라이버 기능 키워드 목록을 가져오기 위해 플러그 인은 EnumFeatures를 호출하여 드라이버 기능과 PPD 기능을 모두 포함하는 기능 키워드 목록을 반환할 수 있습니다. 그런 다음 플러그 인은 "%" 접두사로 시작하는 기능 키워드 이름을 검색하여 드라이버 기능 목록을 가져올 수 있습니다.
다음 표에는 현재 지원되는 드라이버 기능이 나와 있습니다. 테이블의 각 행은 드라이버 기능 키워드를 나열하고, 지원되는 옵션을 표시하고, 기능의 옵션을 EnumOptions 호출에서 열거할 수 있는지 여부를 나타내며, 간단한 설명을 제공합니다.
| 드라이버 기능 | 지원되는 옵션 | 열거형 옵션? | 설명 및 메모 |
|---|---|---|---|
%AddEuro |
"True" "False" |
Yes |
장치 글꼴에 유로 기호를 추가합니다. 이 기능은 수준 2 이상 프린터에서만 지원됩니다. 수준 1 프린터의 경우 SetOptions 는 이 기능을 무시하고 GetOptions는 항상 "False"를 반환합니다. 프린터 고정 |
%CtrlDAfter |
"True" "False" |
Yes |
각 작업 후에 Ctrl-D를 보냅니다. 프린터 고정 |
%CtrlDBefore |
"True" "False" |
Yes |
각 작업 전에 Ctrl-D를 보냅니다. 프린터 고정 |
%CustomPageSize |
자세한 내용은 아래 참고 1을 참조하세요. |
아니요 |
포스트스크립트 사용자 지정 페이지 크기 매개 변수를 지정합니다. 문서 고정 |
%GraphicsTrueGray |
"True" "False" |
Yes |
회색 그래픽을 포스트스크립트 회색으로 변환합니다. 프린터 고정 |
%JobTimeout |
제한 시간(초)의 부호 없는 정수(초)를 나타내는 10진수 문자를 포함하는 NULL 종료 ANSI 문자열(0부터 2,147,483,647까지) SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다. |
아니요 |
작업 시간 제한 값을 지정합니다. 프린터 고정 |
%MaxFontSizeAsBitmap |
0에서 32,767 사이의 부호 없는 정수 픽셀 수를 나타내는 10진수 문자를 포함하는 NULL로 종료된 ANSI 문자열입니다. SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다. |
아니요 |
다운로드할 최대 글꼴 크기를 비트맵으로 지정합니다. 프린터 고정 |
%MetafileSpooling |
"True" "False" |
Yes |
고급 인쇄 기능을 사용하거나 사용하지 않도록 설정합니다. 문서 고정 자세한 내용은 아래 참고 2를 참조하세요. |
%MinFontSizeAsOutline |
0에서 32,767 사이의 부호 없는 정수 픽셀 수를 나타내는 10진수 문자를 포함하는 NULL로 종료된 ANSI 문자열입니다. SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다. |
아니요 |
개요로 다운로드할 최소 글꼴 크기를 지정합니다. 프린터 고정 |
%Mirroring |
"True" "False" |
Yes |
가로 좌표를 반전하여 출력을 미러링합니다. 문서 고정 |
%음수 |
"True" "False" |
Yes |
흑백 값을 반전하여 음수 출력을 생성합니다. 이 기능은 흑백 프린터에서만 지원됩니다. 색 프린터의 경우 SetOptions 는 이 기능을 무시하고 GetOptions는 항상 "False"를 반환합니다. 문서 고정 |
%Orientation |
"Portrait", "Landscape", "RotatedLandscape" |
Yes |
출력 방향을 지정합니다. 문서 고정 |
%OutputFormat |
"Speed", "Portability", "EPS", "Archive" |
Yes |
포스트스크립트 출력 형식을 지정합니다. 문서 고정 자세한 내용은 아래 참고 5를 참조하세요. |
%OutputProtocol |
"ASCII", "BCP", "TBCP", "Binary" |
Yes |
프린터에서 인쇄 작업에 사용할 프로토콜을 지정합니다. 포스트스크립트 프린터는 "ASCII" 및 "Binary"를 지원하는 것으로 간주되므로 이러한 옵션은 항상 사용할 수 있습니다. "BCP" 및 "TBCP" 옵션은 지원되는 경우에만 사용할 수 있습니다. (이를 확인하려면 전역 특성 "프로토콜"을 확인합니다. 프린터 스티커 |
%OutputPSLevel |
"1", "2", "3" |
아니요 |
인쇄 작업에 사용할 포스트스크립트 언어 수준을 지정합니다. 이 설정은 "LanguageLevel" 전역 특성에 지정된 값보다 크지 않습니다. 문서 고정 |
%PageOrder |
"FrontToBack" "BackToFront" |
Yes |
페이지를 인쇄할 순서를 지정합니다. 문서 고정 자세한 내용은 아래 참고 3을 참조하세요. |
%PagePerSheet |
"1", "2", "4", "6", "9", "16", "소책자" |
Yes |
실제 시트당 논리 페이지 수를 지정합니다. 이 기능을 "N-up" 인쇄라고도 합니다. 문서 고정 자세한 내용은 아래 참고 4를 참조하세요. |
%PSErrorHandler |
"True" "False" |
Yes |
포스트스크립트 오류 처리기를 보냅니다. 문서 고정 |
%PSMemory |
0에서 2,147,483,647까지의 범위에서 부호 없는 포스트스크립트 메모리의 부호 없는 정수 수를 나타내는 10진수 문자를 포함하는 NULL로 끝나는 ANSI 문자열입니다. SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다. |
아니요 |
사용 가능한 포스트스크립트 가상 메모리의 양을 지정합니다. 핵심 드라이버에는 처리를 위해 특정 양의 사용 가능한 포스트스크립트 가상 메모리가 필요합니다. %PSMemory가 이 최소값 이하로 설정되면 최소값이 새 값으로 사용됩니다. 현재 최소값은 수준 1 프린터의 경우 172KB, 수준 2 이상 프린터의 경우 249KB입니다. 프린터 스티커 |
%TextTrueGray |
"True" "False" |
Yes |
회색 텍스트를 포스트스크립트 회색으로 변환합니다. 프린터 스티커 |
%TTDownloadFormat |
"Automatic", "Outline", "Bitmap", "NativeTrueType" |
Yes |
TrueType 글꼴 다운로드 형식을 지정합니다. "NativeTrueType"은 "TTRasterizer" 전역 특성이 "Type42"에 대한 지원을 나타내는 경우에만 지원됩니다. 문서 고정 |
%WaitTimeout |
0에서 2,147,483,647까지의 제한 시간(초)의 부호 없는 정수(초)를 나타내는 소수 자릿수 문자를 포함하는 NULL로 끝나는 ANSI 문자열입니다. SetOptions의 경우 소수 자릿수 앞이나 뒤의 추가 탭 또는 공백 문자는 허용되지만 기호 기호는 허용되지 않습니다. |
아니요 |
대기 시간 제한 값을 지정합니다. 프린터 스티커 |
드라이버 기능 키워드에 대한 참고 사항
%CustomPageSize 드라이버 기능에는 x, y, WidthOffset, HeightOffset 및 FeedDirection의 5가지 옵션 값이 있습니다. 이러한 매개 변수에 대한 자세한 설명은 포스트스크립트 프린터 설명 파일 형식 사양 버전 4.3의 섹션 5.16을 참조하세요.
%CustomPageSize 항목에는 %CustomPageSize 키워드와 x, y, WidthOffset, HeightOffset 및 FeedDirection 옵션에 대한 값이 포함되어 있습니다. 첫 번째 항목은 %CustomPageSize 키워드와 NULL 문자입니다. x, y, WidthOffset 및 HeightOffset의 값은 이 키워드를 따르고 부호 없는 10진수의 부분 문자열로 표시되며, 각각 해당 옵션 값의 포스트스크립트 포인트 수를 나타냅니다. 이러한 각 숫자 값 뒤에는 하나 이상의 공백 또는 탭 문자가 잇습니다. 문자열의 마지막 항목은 NULL 문자로 종료되는 FeedDirection의 값입니다. 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 가 가리키는 입력 버퍼를 생성해야 합니다.
%CustomPageSize 드라이버 기능은 다음 세 가지 조건이 모두 충족되는 경우에만 지원됩니다.
- PPD 파일에는 *CustomPageSize 기능이 포함되어 있습니다.
- *PPD-Adobe 키워드의 값이 4.3보다 크거나 같거나 *UseHWMargin: Roll-fed 디바이스를 나타내도록 False가 지정됩니다.
- *PageSize PPD 기능의 현재 선택된 옵션은 CustomPageSize입니다.
이 기능은 스풀러 EMF 스풀링을 사용하는 경우에만 지원됩니다.
지원되는 경우 이 기능의 옵션을 "False"로 설정하면 다음 EMF 관련 기능이 변경됩니다.
- %PagePerSheet가 "Booklet"인 경우 "1"로 변경됩니다.
- Collate가 "True"(DEVMODEW 구조의 공용 부분에서 직접 설정하거나 *Collate PPD 기능에서 SetOptions를 호출하여 설정할 수 있음)로 설정되어 있지만 현재 데이터 정렬 기능을 사용할 수 없는 경우 Collate는 "False"로 설정됩니다.
- %PageOrder가 프린터의 현재 출력 순서 설정과 반대인 경우 %PageOrder는 프린터 값으로 반전됩니다.
이 기능은 스풀러 EMF 스풀링을 사용하는 경우에만 지원됩니다.
지원되는 경우 이 기능을 설정하면 다음이 발생할 수 있습니다.
- 프린터의 PPD 파일에 *OutputOrder 기능 키워드가 포함되어 있으면 해당 옵션 선택이 %PageOrder 기능에 대한 새 설정의 출력 순서와 일치하도록 변경됩니다. 이는 스풀러가 불필요한 페이지 순서 시뮬레이션을 수행하지 못하도록 하기 위해 수행됩니다.
- 프린터의 PPD 파일에 *OutputOrder 기능이 포함되어 있지 않고 %PageOrder 드라이버 기능에 대한 새 설정이 프린터의 현재 출력 순서 설정과 반대이고 %MetafileSpooling 드라이버 기능이 "False"이면 %MetafileSpooling 이 "True"로 다시 설정됩니다.
"Booklet" 옵션은 스풀러 EMF 스풀링을 사용하도록 설정하고 이중 기능을 사용할 수 있는 경우에만 지원됩니다.
"Booklet" 옵션이 지원되면 %PagePerSheet 드라이버 기능을 "Booklet"으로 설정하면 다음과 같은 변경이 발생할 수 있습니다.
- %MetafileSpooling 드라이버 기능이 "False"이면 "True"로 다시 설정됩니다.
- *이중 PPD 기능이 없음으로 설정된 경우 *이중 기능은 PPD 파일에 정의된 첫 번째 비 단순 옵션으로 다시 설정됩니다.
"EPS"(캡슐화된 포스트스크립트)를 제외하고 %OutputFormat 드라이버 기능에 지정된 형식은 다음 두 가지 특성에 따라 분류됩니다.
출력 포스트스크립트 코드는 페이지 순서와 독립적입니까?
출력 포스트스크립트 코드에 디바이스 제어 명령이 포함되어 있나요(일반적으로 setpagedevice 연산자를 사용)?
페이지 순서 독립적 setpagedevice 보관
Yes
아니요
이식성
예
예
속도
아니요
예
드라이버 기능 키워드에서 GetOptions 가 호출되거나 요청된 기능 키워드가 인식되지 않거나 기능 키워드가 인식되지만 현재 문서 고정 또는 프린터 고정 모드에서 지원되지 않는 경우( Driver-Supplied 속성 시트 페이지 바꾸기 참조) 기능은 무시되고 출력 버퍼에 해당 기능/옵션 키워드 쌍이 포함되지 않습니다.
예를 들어 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 가 가리키는 입력 버퍼의 요청된 기능 키워드 또는 옵션 키워드가 인식되지 않거나 기능이 인식되지만 현재 문서 고정 또는 프린터 고정 모드에서 지원되지 않는 경우( Driver-Supplied 속성 시트 페이지 바꾸기 참조) 기능 키워드와 해당 옵션 키워드가 모두 인식되지만 옵션 키워드는 해당 기능에 대해 유효하지 않습니다(예: 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을 참조하세요.