XPSDrv 렌더링 모듈

XPSDrv 프린터 드라이버의 렌더링 모듈에는 프린터로 출력할 XPS 스풀 파일의 내용을 렌더링하는 필터가 포함되어 있습니다. 드라이버에 대한 렌더링 필터 집합이 인스턴스화되고 필터 파이프라인에서 실행됩니다. FPM(필터 파이프라인 관리자)은 필터를 관리하고 IFC(Inter-Filter Communicator)는 필터 간의 상호 작용을 제어합니다.

다음 다이어그램은 필터 파이프라인을 보여줍니다.

diagram illustrating a filter pipeline.

Microsoft는 다음과 같은 XPS 드라이버 구성 요소를 제공합니다.

  • 필터 파이프라인 관리자

  • Inter-Filter Communicator

  • 속성 모음

필터 파이프라인 관리자는 다음을 수행해야 합니다.

  1. 필터를 로드하고 초기화합니다.

  2. 필터 간의 데이터를 관리합니다.

  3. 인쇄 작업이 완료되면 필터를 언로드합니다.

Inter-Filter Communicators는 필터 간의 데이터 전송을 관리하고 필터 파이프라인 관리자는 Inter-Filter Communicator를 관리합니다.

다음 프로세스에서는 파이프라인의 필터 집합에 어떤 일이 발생하는지 설명합니다.

  1. 필터 파이프라인 관리자는 FPC(필터 파이프라인 구성) 파일을 읽습니다.

  2. FPC에서 지정하는 필터가 로드됩니다.

  3. 필터 파이프라인이 초기화되고 필터 파이프라인 관리자가 필터 파이프라인을 시작합니다.

  4. 파이프라인의 첫 번째 필터는 필터 파이프라인 관리자가 제공하는 XPS 또는 스트림 인터페이스를 통해 XPS 데이터를 읽은 다음 필터가 콘텐츠를 처리합니다.

  5. 첫 번째 필터는 Inter-Filter Communicator 제공하는 인터페이스를 사용하여 처리된 XPS 데이터를 두 번째 필터로 보냅니다.

  6. Inter-Filter Communicator 두 번째 필터가 준비될 때까지 중간 처리 결과를 유지 관리합니다.

  7. 1~6단계는 필터에서 반복되어 마지막 필터의 결과가 드라이버가 출력에 대해 정의한 포트로 전송될 때까지 필터링됩니다.

프린터에서 XPS를 PDL(페이지 설명 언어)로 사용하고 다른 처리가 필요하지 않은 경우 빈("통과") 파이프라인을 사용할 수 있습니다. XPS가 프린터의 PDL이 아닌 경우 XPS를 프린터의 PDL로 변환하는 필터와 원하는 다른 처리를 작성해야 합니다.

XPS 드라이버를 개발하려면 다음 구성 요소를 만들어야 합니다.

XPSDrv 렌더링 모듈에 인쇄 티켓 지원을 추가할 수도 있습니다.