Share via


프린터 드라이버 아키텍처

중요

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

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

인쇄 작업은 Microsoft Win32 GDI 또는 Windows Vista의 WPF(Windows Presentation Foundation) 함수 호출을 통해 애플리케이션에서 생성됩니다. Win32 함수는 나중에 EMF 인쇄 프로세서에서 재생하기 위해 애플리케이션 데이터를 EMF 레코드로 스풀하거나 각 문서 페이지에 대해 인쇄 가능한 이미지를 즉시 렌더링할 수 있습니다. WPF 함수는 애플리케이션 데이터를 XPS 스풀 파일로 스풀합니다.

Windows Vista 이전에는 애플리케이션이 DEVMODEW 구조를 사용하여 프린터 설정을 프린터에 전달했습니다. Windows Vista에서 인쇄 티켓 및 인쇄 기능 기술은 프린터 설정이 프린터 및 응용 프로그램에서 더 호환되도록 프린터 설정을 전달합니다.

이미지 렌더링은 인쇄 드라이버에서 즉시 수행되거나 인쇄 처리 중에 수행됩니다.

  • GDI 기반 프린터 드라이버는 스풀 파일에서 EMF 레코드를 재생하는 동안 이미지 렌더링을 수행하고 GDI 렌더링 엔진에 의해 제어됩니다. 렌더링 작업 중에 GDI 렌더링 엔진은 적절한 Windows 2000 이상 프린터 드라이버를 호출하여 도움을 요청합니다.

  • XPSDrv 인쇄 드라이버는 일련의 처리 필터를 사용하여 프린터로 출력할 XPS 스풀 파일 콘텐츠를 처리합니다.

Windows 2000 이상 GDI 기반 프린터 드라이버는 다음을 수행해야 합니다.

  • GDI에서 지원할 수 없는 프린터별 그리기 기능을 제공하여 인쇄 작업 렌더링에 GDI를 지원합니다.

  • 렌더링된 이미지의 데이터 스트림을 인쇄 스풀러로 보냅니다.

  • 선택한 입력 및 출력 트레이, 복사본 수, 이미지 해상도 및 방향 등 프린터 및 인쇄 문서와 연결된 수정 가능한 구성 매개 변수에 대한 사용자 인터페이스를 제공합니다.

XPSDrv 프린터 드라이버는 GDI 기반 드라이버와 동일한 사용자 인터페이스 책임이 있으며 인쇄 작업 데이터를 처리하고 데이터를 프린터로 전송하는 역할도 담당합니다. 그러나 XPSDrv 프린터 드라이버는 GDI를 사용하여 프린터의 페이지 이미지를 렌더링할 필요가 없습니다.

Windows 2000 이상 프린터 드라이버는 드라이버의 드로잉 및 사용자 인터페이스 작업을 별도의 DLL로 나누는 프린터 드라이버 구성 요소 집합으로 구성됩니다. XPSDrv 프린터 드라이버는 구성과 그리기 및 렌더링 함수를 별도의 개체로 나누는 구성 요소로 구성됩니다.

이 섹션은 Windows 2000 이상 운영 체제에서 지원하는 다양한 유형의 프린터 드라이버를 이해하는 데 도움이 되지만 다음 세 개의 프린터 드라이버가 운영 체제와 함께 제공됩니다.

Microsoft 유니버설 프린터 드라이버

Microsoft PostScript 프린터 드라이버

Microsoft 플로터 드라이버

이 세 가지 드라이버는 최종 사용자가 오늘 구매할 수 있는 대부분의 인쇄 장치를 지원합니다. 인쇄 장치가 적절한 Microsoft 제공 드라이버와 호환되지 않는 경우에만 프린터 드라이버를 작성해야 합니다. Microsoft에서 제공하는 드라이버 중 하나에 프린터 데이터 파일을 추가하기만 하면 대부분의 새 프린터를 지원할 수 있습니다. 새 드라이버가 필요할 수 있는 디바이스에는 독점 명령 시퀀스로 제어되는 하드웨어 그리기 가속기가 포함된 디바이스가 포함됩니다.

이 섹션에는 Windows 인쇄 아키텍처를 설명하는 다음 항목이 포함되어 있습니다.

XPSDrv 프린터 드라이버

GDI 프린터 드라이버

인쇄 티켓 및 인쇄 기능 기술

64비트 프린터 드라이버 작성