양식 데이터베이스에 양식 추가
Important
최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.
자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.
프린터에서 추가 양식을 지원하는 경우 프린터 드라이버의 GPD 파일에 설명하여 Unidrv 프린터 드라이버에 추가할 수 있습니다. *rcNameId 필드와 양식 표시 이름 문자열에 대한 리소스 DLL이 있는 리소스 ID를 사용하는 경우 드라이버는 Windows Vista Unidrv 프린터 드라이버에서 제공하는 새로운 지역화 향상된 기능을 자동으로 사용합니다. 또한 Unidrv 프린터 드라이버 플러그 인은 스풀러에 대한 이러한 변경의 이점을 자동으로 활용하며 추가 수정이 필요하지 않습니다. 이러한 향상된 기능에 대한 자세한 내용은 Windows Vista의 프린터 양식 변경 내용을 참조하세요.
GPD 파일에서 지역화 가능한 문자열에 리소스 DLL을 사용하지 않는 경우 지역화 가능한 문자열을 제거하고, 리소스 DLL에 저장하고, 문자열을 GPD 파일의 해당 리소스 ID로 바꿔야 합니다.
다음 코드 예제는 표시 이름에 리소스 ID를 사용 하는 GPD 파일에서 발췌 합니다.
*Feature: PaperSize
{
*Option: Option2
{
*rcNameID: 259
(form definition)
}
(other form definitions).
}
Windows Vista 와 함께 제공되는 Unidrv 프린터 드라이버 내에서 FORM_INFO_2 구조는 다음 표와 같이 GPD 파일에서 읽은 데이터로 채워집니다. 프린터의 GPD 파일에 이 구조를 채우는 데 필요한 정보가 이미 포함되어 있는 경우 Windows Vista Unidrv 프린터 드라이버에서 제공하는 새로운 기능을 사용하기 위해 아무것도 변경할 필요가 없습니다.
typedef struct _FORM_INFO_2 {
DWORD Flags;
LPTSTR pName;
SIZEL Size;
RECTL ImageableArea;
LPCSTR pKeyword;
DWORD StringType;
LPCTSTR pMuiDll;
DWORD dwResourceId;
LPCTSTR pDisplayName;
LANGID wLangId;
} FORM_INFO_2, *PFORM_INFO_2;
FORM_INFO_2 필드 | 사용된 GPD 값 | 필드 설명 |
---|---|---|
플래그 | FORM_PRINTER 이 값은 폼을 추가하므로 Unidrv 프린터 드라이버에 의해 할당됩니다. GPD 파일의 값은 이 필드에 사용되지 않습니다. |
구조체의 속성입니다. |
pName | 리소스 DLL 또는 GPD 파일의 *rcName 필드에서 가져온 양식의 지역화된 이름입니다. | 폼의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 양식 데이터베이스에서 양식을 식별하는 데 사용되며 고유해야 합니다. |
크기 | GPD 파일의 *PageDimensions 옵션에서 읽은 크기 정보입니다. | 폼의 너비와 높이(1,000밀리미터)입니다. |
ImageableArea | GPD 파일의 *PrintableArea 옵션에서 읽은 크기 정보입니다. | 프린터에서 인쇄할 수 있는 페이지 영역의 너비와 높이(천 밀리미터)입니다. |
pKeyword | GPD 파일의 *옵션 항목 값입니다. | 폼의 지역화할 수 없는 문자열 식별자에 대한 포인터입니다. AddForm 또는 SetForm에 전달되는 경우 이 포인터는 호출자에게 모든 로캘에서 양식을 식별하는 방법을 제공합니다. |
StringType | STRING_MUIDLL GPD에서 *rcNameId 옵션을 사용하고 리소스 DLL에서 양식 이름을 사용할 수 있는 경우 STRING_MUIDLL 값이 할당됩니다. 대신 GPD 파일에서 *rcName 옵션을 사용하면 이 필드의 값이 STRING_NONE. GPD 파일의 값은 이 필드에 사용되지 않습니다. |
런타임에 양식의 지역화된 표시 이름을 가져오는 방법을 지정합니다. |
pMuiDll | *rcNameId 옵션을 사용하는 경우 GPD 파일의 *ResourceDLL 항목 값입니다. 대신 GPD 파일에서 *rcName 옵션을 사용하는 경우 이 필드의 값은 NULL입니다. | StringType에 STRING_MUIDLL 포함된 경우 지역화된 표시 이름을 포함하는 MUI 지역화된 리소스 DLL입니다. |
dwResourceId | GPD 파일의 *rcNameID 항목 값입니다. 대신 GPD 파일에서 *rcName 옵션을 사용하는 경우 이 필드의 값은 0입니다. | StringType에 STRING_MUIDLL 포함된 경우 폼의 표시 이름에 대한 리소스 ID(pMuiDll)입니다. |
pDisplayName | NULL 이 필드는 사용되지 않습니다. |
StringType에 STRING_LANGPAIR 포함할 때 wLangId가 지정하는 언어의 양식 표시 이름입니다. |
wLangId | 0 이 필드는 사용되지 않습니다. |
StringType에 STRING_LANGPAIR 포함된 경우 pDisplayName의 언어입니다. |