다음을 통해 공유


XPS 필터

Important

최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.

자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.

XPS 인쇄 경로의 경우 필터는 드라이버가 프린터에 대한 인쇄 데이터를 준비하는 기본 방법입니다. Windows Vista 이전의 Microsoft Windows 운영 체제 버전에서는 인쇄 프로세서 및 렌더링 모듈이 필터 작업을 수행했습니다.

XPS 필터는 DllGetClassObjectDllCanUnloadNow 함수를 내보내는 DLL입니다. 필터 파이프라인 관리자는 XPS 필터 DLL을 로드하고 언로드할 때 이러한 함수를 호출합니다. 필터 DLL을 로드한 후 필터 파이프라인 관리자는 다음을 수행합니다.

필터 DLL을 언로드하기 전에 필터 파이프라인 관리자는 DllCanUnloadNow를 호출합니다.

일부 이전 XPS 필터에서 DllGetClassObject 함수는 IClassFactory 인터페이스 대신 필터의 IPrintPipelineFilter 인터페이스에 대한 참조를 검색합니다. 이전 버전과의 호환성을 위해 Windows Vista 이상 버전의 필터 파이프라인 관리자는 이러한 필터를 계속 지원합니다. 그러나 새 필터 디자인의 경우 DllGetClassObject는 IClassFactory 인터페이스에 대한 참조를 검색해야 합니다.

XPS 필터는 스풀러와 다른 프로세스에서 필터가 실행되기 때문에 인쇄 하위 시스템을 더욱 강력하게 만듭니다. 이 "샌드박싱"은 오류로부터 보호하고 플러그 인이 다른 보안 권한으로 실행되도록 허용합니다. XPSDrv를 사용하면 프린터 제품군에서 필터를 다시 사용하여 비용과 개발 시간을 줄일 수 있습니다.

최대의 유연성과 재사용을 위해 각 필터는 특정 인쇄 처리 기능을 수행해야 합니다. 예를 들어 한 필터는 워터마크만 적용하고 다른 필터는 회계만 수행합니다.

필터 파이프라인 관리자에 대한 자세한 내용은 XPSDrv 렌더링 모듈을 참조 하세요.

필터 구현에 대한 자세한 내용은 XPS 필터 구현을 참조 하세요.

인쇄 필터의 비동기 알림에 대한 자세한 내용은 인쇄 필터의 비동기 알림을 참조 하세요.

필터 파이프라인 구성 파일을 사용하여 필터를 구성해야 합니다.

인쇄 필터 파이프라인 서비스를 디버그하는 방법에 대한 자세한 내용은 인쇄 필터 파이프라인 서비스에 디버거 연결을 참조 하세요.

Windows 7에서 XPS 필터는 XPS 래스터화 서비스를 사용하여 XPS 문서의 고정 페이지를 비트맵으로 변환할 수 있습니다.

Windows에서 XPS 래스터화에 GPU 가속을 사용하는 방법에 대한 자세한 내용은 XPSRas GPU 사용 의사 결정 트리를 참조 하세요.