인쇄 스풀러

인쇄 인터페이스의 기본 구성 요소는 인쇄 스풀러입니다. 인쇄 스풀러는 인쇄 프로세스를 관리하는 실행 파일입니다. 인쇄 관리에는 올바른 프린터 드라이버의 위치를 검색하고, 해당 드라이버를 로드하고, 고급 함수 호출을 인쇄 작업으로 스풀링하고, 인쇄 작업을 예약하는 등의 작업이 포함됩니다. 스풀러는 시스템 시작 시 로드되며 운영 체제가 종료될 때까지 계속 실행됩니다.

인쇄하는 애플리케이션은 DC(프린터 디바이스 컨텍스트)를 만듭니다. 애플리케이션이 프린터 DC를 만들 때 스풀러는 필요한 프린터 드라이버의 위치를 결정한 다음 해당 드라이버를 로드하는 등 필요한 작업을 수행합니다. 인쇄 스풀러는 인쇄 작업을 기록하는 데 사용되는 데이터 형식도 결정합니다.

인쇄 스풀러는 다음 데이터 형식을 지원합니다.

  • EMF(고급 메타파일).
  • ASCII 텍스트입니다.
  • 원시 데이터- PostScript, PCL 및 사용자 지정 데이터 형식과 같은 프린터 데이터 형식을 포함합니다.

추가 프린터 드라이버 및 인쇄 프로세서를 설치하여 스풀러에 사용자 지정 데이터 형식을 추가할 수 있습니다. 인쇄 작업은 내부적으로 저장되고 지원되는 데이터 형식 중 하나를 사용하여 인코딩되는 문서이며 인쇄 작업에는 하나 이상의 출력 페이지가 포함될 수 있습니다. 인쇄 작업은 여러 양식으로 구성됩니다. 예를 들어 작업은 봉투 1개와 A4 용지 3페이지로 구성됩니다. 인쇄 작업은 StartDocEndDoc 함수에 의해 정의되거나 대괄호로 묶입니다.

인쇄 작업의 기본 데이터 형식은 향상된 메타파일입니다. EMF 레코드는 텍스트 출력 명령, 래스터 그래픽 명령 등을 저장하는 데 사용되는 컴팩트한 구조입니다. 애플리케이션이 StartDoc를 호출하면 스풀러는 스풀 파일과 데이터 파일을 만들고 스풀 파일에 EMF 레코드를 저장하기 시작합니다. 애플리케이션이 GDI 그리기 함수 중 하나를 호출할 때마다 하나 이상의 새 EMF 레코드가 만들어지고 스풀 파일에 저장됩니다. 스풀 및 데이터 파일은 운영 체제 디렉터리에 만들어집니다. 스풀러는 스풀 파일을 사용하여 EMF 레코드를 저장하고 데이터 파일을 사용하여 형식, 인쇄 작업의 데이터 형식, 대상 프린터 등을 기록합니다. 스풀러는 작업이 성공적으로 인쇄되면 이러한 파일을 삭제합니다.

고급 형식 메타파일