Udostępnij przez


Filtry XPS

Ważny

Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.

Aby uzyskać więcej informacji, zobacz Print Support App v1 and v2 design guide (Przewodnik projektowania aplikacji do obsługi wydruku w wersji 1 i 2).

W przypadku ścieżki drukowania XPS filtry są podstawowym sposobem, w jaki sterownik przygotowuje dane drukowania dla drukarki. W wersjach systemu operacyjnego Microsoft Windows przed Windows Vista procesory wydruku i moduły renderowania wykonały pracę filtrów.

Filtr XPS to biblioteka DLL, która eksportuje funkcje DllGetClassObject i DllCanUnloadNow. Menedżer potoku filtru wywołuje te funkcje podczas ładowania i rozładowywania biblioteki DLL filtru XPS. Po załadowaniu filtru DLL menedżer potoku filtrów wykonuje następujące czynności:

Przed zwolnieniem biblioteki DLL filtra menedżer potoku filtra wywołuje DllCanUnloadNow.

W niektórych starszych filtrach XPS funkcja DllGetClassObject pobiera odwołanie do interfejsu IPrintPipelineFilter filtru zamiast interfejsu IClassFactory. W celu zapewnienia zgodności z poprzednimi wersjami menedżer potoków filtrów w systemie Windows Vista i nowszych wersjach systemu Windows będzie nadal obsługiwać te filtry. Jednak w przypadku nowych projektów filtrów DllGetClassObject powinien uzyskać odwołanie do interfejsu IClassFactory.

Filtry XPS sprawiają, że podsystem drukowania jest bardziej niezawodny, ponieważ filtry działają w procesie innym niż bufor. To "sandboxowanie" chroni przed awariami i umożliwia uruchomienie wtyczki z różnymi poziomami uprawnień zabezpieczeń. XpSDrv umożliwia również ponowne używanie filtrów między rodzinami drukarek w celu obniżenia kosztów i czasu programowania.

Aby zapewnić maksymalną elastyczność i ponowne użycie, każdy filtr powinien wykonywać określoną funkcję przetwarzania wydruku. Na przykład jeden filtr będzie stosował tylko znak wodny, a inny wykonywał tylko ewidencjonowanie.

Aby uzyskać więcej informacji na temat menedżera potoku filtrowania, zobacz XPSDrv Render Module.

Aby uzyskać więcej informacji na temat implementowania filtrów, zobacz Implementowanie filtrów XPS.

Aby uzyskać więcej informacji na temat powiadomień asynchronicznych w filtrach wydruku, zobacz Powiadomienia asynchroniczne w filtrach wydruku.

Filtry należy skonfigurować przy użyciu pliku konfiguracji potoku filtru .

Aby uzyskać informacje dotyczące debugowania usługi potoku filtrowania wydruku, zobacz Dołączanie debugera do usługi potoku filtrowania wydruku.

W systemie Windows 7 filtry XPS mogą używać usługi rasteryzacji XPS do konwertowania stron stałych w dokumentach XPS na mapy bitowe.

Aby uzyskać informacje na temat sposobu, w jaki system Windows używa przyspieszenia procesora GPU do rasteryzacji XPS, zobacz XPSRas GPU Usage Decision Tree.