Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
A modern nyomtatási platform a Windows előnyben részesített eszköze a nyomtatókkal való kommunikációnak. Azt javasoljuk, hogy a Microsoft IPP postaláda osztály-illesztőprogramját a Nyomtatótámogatási alkalmazásokkal (PSA) együtt használja a nyomtatási élmény testreszabására Windows 10 és 11 alatt nyomtatóeszközök fejlesztésekor.
További információ: Print Support App v1 és v2 tervezési útmutató.
A szűrőfolyamat konfigurációs fájlja egy XML-fájl, amely a következőket határozza meg:
A szűrők sorrendje a csővezetékben. Ezt a sorrendet a szűrőfolyamat konfigurációs fájljában lévő XML-elemek sorrendje határozza meg.
Szűrőfelületek. Ezeket az interfészeket XML-attribútumok határozzák meg a szűrőfolyamat konfigurációs fájljában.
Bemeneti és kimeneti formátumok minden szűrőhöz. Ezeket a formátumokat a szűrőfolyamat konfigurációs fájljának XML-elemei határozzák meg.
Az alábbi példakód egy tipikus szűrőfolyamat-konfigurációs fájlt mutat be:
<Filters>
<Filter dll="XDWMark.dll"
clsid="{D647D658-BEF6-415f-AFAC-070D64074C5D}"
name="Watermark filter">
<Input guid="{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IXpsDocumentProvider"/>
<Output guid="{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IXpsDocumentConsumer"/>
</Filter>
<Filter dll="XDScale.dll"
clsid="{B9B52406-92D3-4721-86E6-3CF78F6D5FC5}"
name="Page Scaling filter">
<Input guid="{4d47a67c-66cc-4430-850e-daf466fe5bc4}" comment="IID_IPrintReadStream"/>
<Output guid="{65bb7f1b-371e-4571-8ac7-912f510c1a38}" comment="IID_IPrintWriteStream"/>
</Filter>
<Filter dll="XDColMan.dll"
clsid="{8E56FC37-0799-447e-A643-16F4FB18244C}"
name="Colour Management filter">
<Input guid="{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IXpsDocumentProvider"/>
<Output guid="{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IXpsDocumentConsumer"/>
</Filter>
<Filter dll="XDBook.dll"
clsid="{7DFC96C6-CEA2-46d8-B354-887C47B7986D}"
name="Booklet filter">
<Input guid="{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IXpsDocumentProvider"/>
<Output guid="{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IXpsDocumentConsumer"/>
</Filter>
<Filter dll="XDNUp.dll"
clsid="{1b5bee16-511c-440f-8017-2123f481091a}"
name="NUp filter">
<Input guid="{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IXpsDocumentProvider"/>
<Output guid="{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IXpsDocumentConsumer"/>
</Filter>
</Filters>
Privát kulcsszavak
Az XPSDrv konfigurációs modulprivát kulcsszavakat helyezhet el a PrintTicket bejegyzésben, amikor egy XPS-illesztőprogram-dokumentum eseményét kezeli a DrvDocumentEvent függvényhívás során. Ezeket a PrintTicket-bejegyzéseket ezután a nyomtatási szűrőfolyamat feldolgozási szűrői olvassák be, miközben a szűrők a PrintTicketet olvassák.
Szűrőfolyamat tulajdonságcsomagja
A konfigurációs modul a szűrőfolyamat tulajdonságcsomagját is használhatja adatok tárolására vagy információk szűrőfolyamatba való továbbítására. Ha a konfigurációs szolgáltatásokat a tulajdonságcsomag használatával szeretné elérhetővé tenni, a konfigurációs modulnak exportálnia kell a DrvPopulateFilterServices metódust . Emellett a szűrőfolyamat konfigurációs fájljának tartalmaznia kell az <egyes szolgáltatások FilterServiceProvider> elemét. A szolgáltatói modulnak implementálnia és exportálnia kell a DllCanUnloadNow függvényt . Ezek a szolgáltatók általában COM-felületeket tesznek közzé a tulajdonságcsomagban. A szolgáltatónak betöltve kell maradnia, amíg ezek a felületek használatban vannak.
Egy másik elem, az <OptionalFilterServiceProvider> lehetővé teszi, hogy a folyamatkezelő folytassa a nyomtatási feladatot, ha a szolgáltató dll-je nem érhető el. Az egyes szűrőknek a viselkedésüket az opcionális szolgáltató hiányában kell meghatározniuk. Ellenkező esetben, ha <a FilterServiceProvidert> használja, és a dll nem tölthető be, a feladat meghiúsul. A <OptionalFilterServiceProvider> elem támogatott a Windows 7-es és újabb verzióiban.
Az alábbi példakód a DrvPopulateFilterServices függvényt mutatja be:
HRESULT
DrvPopulateFilterServices(
__in IPrintPipelinePropertyBag *pPropertyBag
);
Az előző függvényről további információt a DrvPopulateFilterServices című témakörben talál.
Az alábbi példakód a SzűrőszolgáltatásProvider< elem XML-szintaxisát> mutatja be a szűrőfolyamat konfigurációs fájljában:
<Filters>
<Filter ... />
<FilterServiceProvider dll = "providerA.dll"/>
<FilterServiceProvider dll = "providerB.dll"/>
</Filters>
Összekötő mód a kimeneti eszközhöz
Az interleaving arra utal, hogyan történik az XPS-dokumentum erőforrásrészeinek és a FixedPage dokumentumrészeknek az együttes streamelése. Amikor a szűrőfolyamat létrehozza az XPS-dokumentumobjektum-modellt az első szűrőhöz XPS-dokumentumillesztőkkel a folyamatban, a rendszer már nem követi az XPS-várólistás fájl egymást keresztező sorrendjét. Az XPS-dokumentumillesztőt használó folyamat utolsó szűrője azonban megadhatja a folyamatnak az XPS-tartalom szerializálásakor használandó szűrőkonfigurációs fájlban a kapcsolódási sorrendet. Ha kiválasztja a kimeneti eszközzel vagy kimeneti fájllal leginkább kompatibilis adatközi sorrendet, javíthatja a későbbi dokumentumfeldolgozás teljesítményét.
Az alábbi példaszűrő az előző példaszűrő konfigurációs fájljának egy részlete, amelyet úgy módosítottak, hogy bemutassa az átlapolási opció használatát. Bár ez a példa mindkét átfűzési lehetőséget szemlélteti, egy valódi szűrőkonfigurációs fájl csak egy <Interleaving> elemet tartalmaz a szűrődefinícióban:
<Filter dll="XDNUp.dll"
clsid="{1b5bee16-511c-440f-8017-2123f481091a}"
name="NUp filter">
<Input guid="{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IXpsDocumentProvider"/>
<Output guid="{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IXpsDocumentConsumer"/>
<Interleaving mode="ResourcesFirst"\>
<Interleaving mode="MarkupFirst"\>
</Filter>
A szűrőfolyamat a következő interleaving sorrendeket támogatja:
A ResourceFirst interleaving order minden függő erőforrást streamel az erőforrástól függő FixedPage előtt. Ez a sorrend jó a nyomtató-illesztőprogramok és a közvetlen használatú nyomtatók számára, mivel a nyomtató számára szükséges betűkészlet- és képforrásokat biztosítja közvetlenül a szöveg és az oldal tartalmának renderelése előtt.
A MarkupFirst interleaving order streameli a dokumentum szövegét és korrektúráit, valamint az erőforrás használatának módját, mielőtt a tényleges erőforrást streameli. Ez az összekapcsolási sorrend a legjobban archivált fájlhelyekhez és a dokumentumot online megjelenítő alkalmazásokhoz használható.
Archívum-optimalizált XPS-kimenet
Ez a funkció lehetővé teszi a nyomtatóillesztők számára, hogy explicit módon archiválásra optimalizált XPS-kimenetet kérjenek spool fájlként. Windows 8 rendszerben a Microsoft XPS Document Writer v4 (MXDW) ezt az archiválásra kész XPS-kimenetet egy olyan kódútvonalon hozza létre, amely csak a Microsoft XPS-dokumentumkonverterben (MXDC) érhető el az MXDW számára. A nyomtatóillesztők így létrehozhatják ezt az archiválásra optimalizált XPS-t az MXDC-ből.
Az alábbi példakód azt az XML-szintaxist mutatja be, amely a <szűrőfolyamat konfigurációs fájljának Archív> elemét használja a funkció engedélyezéséhez:
<Filters>
...
<Archive enabled="true"/>
</Filters>