Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Modern yazdırma platformu, Windows'un yazıcılarla iletişim kurmak için tercih ettiği araçlardır. Yazıcı cihazı geliştirme için Windows 10 ve 11'deki yazdırma deneyimini özelleştirmek için Yazdırma Desteği Uygulamaları (PSA) ile birlikte Microsoft'un IPP gelen kutusu sınıf sürücüsünü kullanmanızı öneririz.
Daha fazla bilgi için bkz. Yazdırma Desteği Uygulaması v1 ve v2 tasarım kılavuzu.
v4 sürücü mimarisi için üst düzey bir tasarım hedefi, Microsoft Store uygulaması kullanıcı arabirimi için yerleşik destek sağlamaktı.
Kullanılan uygulama tabanlı ui paradigması bunun açık bir örneğidir. UWP cihaz uygulamaları, kullanıcılara Microsoft Store uygulama kullanıcı arabiriminde desteklenen tam ekran deneyimi sağlar. Yazdırma için UWP cihaz uygulamaları, yazdırma tercihleri için genişletilebilirlik ve v4 yazdırma sürücüsünü destekleyen yazıcılar için yazıcı bildirimleri sağlar. Yazdırma için UWP cihaz uygulamaları da yeni Başlangıç ekranında yazdırma cihazı için görünürlük sağlar.
Yazıcı uzantısı uygulamaları, kullanıcılar Windows masaüstünde mevcut uygulamaları çalıştırdığında yazdırma tercihlerini ve yazıcı bildirimlerini destekler. Bu uygulamaların UI'leri çok farklı olsa da, biri dokunma için uyarlanmış, diğeri ise fare ve klavye kullanıcıları için iyileştirilmiş olsa da, iş mantığı ve v4 yazdırma sürücülerine bağlantı, kullanıcı arabiriminden bağımsız olarak benzer olabilir.
Aşağıdaki diyagramda Microsoft Store cihaz uygulamalarının üst düzey mimarisi gösterilmektedir.
Önceki diyagramda gösterildiği gibi model/görünüm/denetleyici tabanlı mimari, uygulamaların C# dilinde yazılmış model katmanında kod paylaşmasına olanak tanır.
PrinterExtensionLibrary'yi Genişletme
Çeşitli örneklerde sunulan PrinterExtensionLibrary projesi, yeni sınıflar kullanılarak veya sağlanan sınıf kümesi genişletilerek genişletilebilir. Microsoft, örnek kodda düzenli aralıklarla güncelleştirmeler yaptığından, iş ortaklarının sağlanan kaynak dosyalarda yaptıkları kod değişikliği sayısını en aza indirmelerini öneririz. Sağlanan sınıf kümesini genişleten iş ortakları için mevcut sınıfları "kısmi" olarak işaretlemenizi ve ayrı bir kaynak dosyaya yeni işlevler veya geçersiz kılmalar eklemenizi öneririz.
Derlenmiş ikili dosyaları UWP uygulamalarıyla Masaüstü uygulamaları arasında paylaşma
Microsoft Store cihaz uygulamasında ve yazıcı uzantısı örneklerinde gönderilen PrinterExtensionLibrary projesi aynı kaynak kodu kullanır, ancak kodu her proje için ayrı olarak oluşturulmadan projeler arasında taşınabilir hale getirmek değerli olabilir. PrinterExtensionLibrary projesinin kodunu taşınabilir hale getirmek için projeyi Taşınabilir Sınıf Kitaplığına dönüştürmeniz gerekir. Dönüştürmeyi yapmak için aşağıdaki adımları gerçekleştirin.
Microsoft Visual Studio'da, Dosya'ya tıklayın,>Yeni>Projeseçin ve ardından Yüklü Şablonları Ara kutusunda "Taşınabilir" ifadesini arayın.
Taşınabilir Sınıf Kitaplığı Visual C# öğesini seçin ve Adı metin kutusuna proje için bir ad girin. Ardından, Tamam'a tıklayın.
Mevcut PrinterExtensionLibrary projenizdeki kaynak kodu yeni projeye kopyalayın.
Taşınabilir Sınıf Kitaplığı projenize sağ tıklayın ve Kaldıröğesini seçin. Ardından .csproj dosyasını açın ve belgenin son etiketinden hemen önce aşağıdaki bölümü dosyanıza ekleyin.
<ItemGroup> <COMReference Include="PrinterExtensionLib"> <Guid>{91CE54EE-C67C-4B46-A4FF-99416F27A8BF}</Guid> <VersionMajor>1</VersionMajor> <VersionMinor>0</VersionMinor> <Lcid>0</Lcid> <WrapperTool>tlbimp</WrapperTool> <Isolated>False</Isolated> <EmbedInteropTypes>True</EmbedInteropTypes> </COMReference> </ItemGroup>COM başvurularının bir sonucu olarak uyarılar görürseniz, <PropertyGroup> etiketine aşağıdakileri ekleyin:
<ResolveComReferenceSilent>true</ResolveComReferenceSilent>
Yazdırma kullanıcı arabirimi senaryoları için API
Yazdırma için Yazıcı Uzantıları ve UWP cihaz uygulamalarını desteklemek üzere v4 yazdırma sürücüsü modelinin bir parçası olarak bir API geliştirilmiştir. Yüksek düzeyde, yazdırma tercihleri senaryosu, tüm bilgilerini almak ve depolamak için PrintTicket, PrintCapabilities ve yeni özellik torbalarını kullanır. Yazıcı bildirimleri, Çift Yönlü İletişim (Bidi) Şemasını temel alan yeni bir olay sistemi tarafından yönlendirilir ve bu yeni sistem istemci ile sunucu arasında AsyncUI protokolunu kullanır. Bu API'nin veri odaklı yapısı, bir uygulamanın birçok cihazı kolayca destekleyebilecek olması anlamına gelir.
Yazıcı uzantılarının, istenen veriler kullanılamıyorsa sorunsuz bir şekilde çalışmaya devam edebilecek şekilde tasarlanmış olması gerekir. Örneğin, belirli bir PrintCapabilities özelliği kullanılamıyorsa veya özellik torbalarından birindeki bir özellik kullanılamıyorsa, bu uygulamanın geri kalanının çalışmasını engellememelidir. Özellik çantalarına veya özellik çantası içindeki belirli niteliklere erişirken, oluşacak özel durumların uygulamanın çökmesine neden olmamasını sağlamak için uygulama, try-catch söz dizimini kullanmalıdır. Daha fazla bilgi için bkz. Yazıcı Uzantısı Arabirimleri.