Java Print Service API を使用してデフォルトのシステム プリンタを取得することは可能ですか?
を使用してすべてのプリンターのリストを取得できます
PrintServiceLookup.lookupPrintServices(null, null)
しかし、システムでデフォルトとして選択されたプリンターを取得するにはどうすればよいですか? (以下のスクリーンショットでは、デフォルトのプリンターがチェックされています (HP Laser Jet))。
あなたは使用する必要がありますPrintServiceLookup
import javax.print.PrintServiceLookup;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
Acc。Javadocへ:
lookupDefaultPrintServiceこの環境のデフォルトの印刷サービスを検索します。これはnullを返す場合があります。複数のルックアップサービスがそれぞれデフォルトを指定している場合、選択されたサービスは正確に定義されていませんが、通常、インストールされたサービスではなく、プラットフォームのネイティブサービスがデフォルトとして返されます。明確に識別可能なプラットフォームネイティブのデフォルトの印刷サービスがない場合、デフォルトは実装に依存する方法で最初に配置されます。
PrintServiceLookup.lookupDefaultPrintServiceを使用できます
PrintService service =
PrintServiceLookup.lookupDefaultPrintService();
if (service != null) {
String printServiceName = service.getName();
System.out.println("Print Service Name is " + printServiceName);
} else {
System.out.println("No default print service found");
}
PrintService service =
PrintServiceLookup.lookupDefaultPrintService();