Filter File Konfigurasi Alur
Penting
Kami menyarankan agar Anda menggunakan driver kelas kotak masuk IPP Microsoft, bersama dengan Print Support Apps (PSA), untuk menyesuaikan pengalaman cetak di Windows 10 dan 11 untuk pengembangan perangkat printer.
Untuk informasi selengkapnya, lihat panduan desain aplikasi dukungan Cetak.
File konfigurasi alur filter adalah file XML yang menentukan hal berikut:
Urutan filter dalam alur. Urutan ini ditentukan oleh pengurutan elemen XML dalam file konfigurasi alur filter.
Filter antarmuka. Antarmuka ini ditentukan oleh atribut XML dalam file konfigurasi alur filter.
Format input dan output untuk setiap filter. Format ini ditentukan oleh elemen XML dalam file konfigurasi alur filter.
Contoh kode berikut menunjukkan file konfigurasi alur filter yang khas:
<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>
Kata Kunci Privat
Modul konfigurasi XPSDrv dapat menempatkan kata kunci privat dalam entri PrintTicket saat menangani peristiwa dokumen driver XPS selama panggilan fungsi DrvDocumentEvent. Entri PrintTicket ini kemudian dibaca oleh filter pemrosesan dalam alur filter cetak saat filter membaca PrintTicket.
Filter Tas Properti Alur
Modul konfigurasi juga dapat menggunakan tas properti alur filter untuk menyimpan data atau meneruskan informasi ke alur filter. Untuk mengekspos layanan konfigurasi dengan menggunakan tas properti, modul konfigurasi harus mengekspor metode DrvPopulateFilterServices . Selain itu, file konfigurasi alur filter harus menyertakan <elemen FilterServiceProvider> untuk setiap layanan. Modul penyedia harus menerapkan dan mengekspor fungsi DllCanUnloadNow . Biasanya, penyedia ini menerbitkan antarmuka COM di tas properti. Penyedia harus tetap dimuat saat antarmuka ini sedang digunakan.
Elemen lain, <OptionalFilterServiceProvider>, memungkinkan manajer alur untuk melanjutkan pekerjaan cetak jika dll penyedia layanan tidak tersedia. Filter individu harus menentukan perilaku mereka tanpa adanya penyedia layanan opsional. Jika tidak, jika <FilterServiceProvider> digunakan dan dll tidak dapat dimuat, pekerjaan gagal. Elemen <OptionalFilterServiceProvider> didukung di Windows 7 dan yang lebih baru.
Contoh kode berikut menunjukkan fungsi DrvPopulateFilterServices :
HRESULT
DrvPopulateFilterServices(
__in IPrintPipelinePropertyBag *pPropertyBag
);
Untuk informasi selengkapnya tentang fungsi sebelumnya, lihat DrvPopulateFilterServices.
Contoh kode berikut menunjukkan sintaks XML untuk <elemen FilterServiceProvider> dalam file konfigurasi alur filter:
<Filters>
<Filter ... />
<FilterServiceProvider dll = "providerA.dll"/>
<FilterServiceProvider dll = "providerB.dll"/>
</Filters>
Mode Interleaving untuk Perangkat Output
Interleaving mengacu pada bagaimana bagian sumber daya individual dari dokumen XPS dialirkan bersama dengan bagian dokumen FixedPage. Ketika alur filter membuat model objek dokumen XPS untuk filter pertama dengan antarmuka dokumen XPS dalam alur, urutan interleaving dari file penampung XPS tidak lagi diikuti. Namun, filter terakhir dalam alur yang menggunakan antarmuka dokumen XPS dapat menentukan urutan interleaving dalam file konfigurasi filter untuk digunakan alur saat menserialisasikan konten XPS. Memilih urutan interleaving yang paling kompatibel dengan perangkat output atau file output dapat meningkatkan performa pemrosesan dokumen berikutnya.
Contoh filter berikut adalah kutipan dari contoh file konfigurasi filter sebelumnya yang telah dimodifikasi untuk menunjukkan cara menggunakan opsi interleaving. Meskipun contoh ini menunjukkan kedua opsi interleaving untuk tujuan ilustrasi, file konfigurasi filter nyata hanya memiliki satu <elemen Interleaving> dalam definisi 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"/>
<Interleaving mode="ResourcesFirst"\>
<Interleaving mode="MarkupFirst"\>
</Filter>
Alur filter mendukung pesanan interleaving berikut:
Pesanan interleaving ResourcesFirving mengalirkan setiap sumber daya dependen sebelum FixedPage yang bergantung pada sumber daya. Urutan interleaving ini baik untuk driver printer dan untuk printer konsumsi langsung karena menyediakan font dan sumber daya gambar yang diperlukan printer untuk merender isi teks dan halaman tepat sebelum penyajian dimulai.
Urutan interleaving MarkupFirving mengalirkan teks dan markup dokumen dan informasi tentang bagaimana sumber daya akan digunakan sebelum mengalirkan sumber daya yang sebenarnya. Urutan interleaving ini paling baik untuk tujuan file arsip dan untuk aplikasi yang melihat dokumen secara online.
Output XPS Archive-Optimized
Fitur ini memungkinkan driver cetak untuk secara eksplisit meminta output XPS yang dioptimalkan arsip sebagai file penampung. Dalam Windows 8, Microsoft XPS Document Writer v4 (MXDW) menghasilkan output XPS siap arsip ini melalui jalur kode yang hanya tersedia untuk MXDW di Microsoft XPS Document Converter (MXDC). Jadi driver cetak dapat menghasilkan XPS yang dioptimalkan arsip ini dari MXDC.
Contoh kode berikut menunjukkan sintaks XML untuk menggunakan <elemen Arsip> dalam file konfigurasi alur filter untuk mengaktifkan fitur ini:
<Filters>
...
<Archive enabled="true"/>
</Filters>
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk