アプリでの印刷機能の実装に関する Microsoft ホワイト ペーパーのガイドラインに従った後、Windows 8 マシンに接続されているすべての印刷デバイスの列挙を取得できるようにする WinJS コードがいくつかありました。私の質問は、私がこの情報を持っているかどうかです。プリンターを選択するための UI を表示せずに、特定のプリンターとの印刷契約を呼び出すことは可能ですか。
接続プリンターを列挙するためのコードは次のとおりです。
logDevices: function () {
// This is the GUID for printers
var printerInterfaceClass="{0ecef634-6ef0-472a-8085-5ad023ecbccd}";
var selector="System.Devices.InterfaceClassGuid:=\"" + printerInterfaceClass + "\"";
// By default, findAllAsync does not return the containerId
// for the device it queries.
// We have to add it as an additonal property to retrieve.
var containerIdField = "System.Devices.ContainerId";
var propertiesToRetrieve = [containerIdField];
// Asynchronously find all printer devices.
Windows.Devices.Enumeration.DeviceInformation.findAllAsync(selector, propertiesToRetrieve)
.done(function (devInfoCollection) {
console.log("\n[DEV DASH] : -------------------------------------------------------------------------------------------");
devInfoCollection.forEach(function (deviceInfo) {
console.log("[DEV DASH] : Printer : " + deviceInfo['name']);
console.log("[DEV DASH] : ID : " + deviceInfo['id']);
console.log("[DEV DASH] : Enabled : " + deviceInfo['isEnabled']);
console.log("[DEV DASH] : * * * * * * * * * * * * * * * * * * ");
});
console.log("[DEV DASH] : -------------------------------------------------------------------------------------------");
}, function (e) {
console.log("[DEV DASH] : Error in obtaining device information: " + e.message);
});
}
次のコードを使用して、ユーザーが印刷デバイスを選択できるようにする UI を表示していますが、WinJS を使用してプログラムでプリンターの選択を実装する方法はありますか?
Windows.Graphics.Printing.PrintManager.showPrintUIAsync();
ありがとう!