2

Java Print Service API を使用してデフォルトのシステム プリンタを取得することは可能ですか?

を使用してすべてのプリンターのリストを取得できます

PrintServiceLookup.lookupPrintServices(null, null)

しかし、システムでデフォルトとして選択されたプリンターを取得するにはどうすればよいですか? (以下のスクリーンショットでは、デフォルトのプリンターがチェックされています (HP Laser Jet))。

選択したデフォルトのプリンター

4

3 に答える 3

12

あなたは使用する必要がありますPrintServiceLookup

import javax.print.PrintServiceLookup;
PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 

Acc。Javadocへ:

lookupDefaultPrintServiceこの環境のデフォルトの印刷サービスを検索します。これはnullを返す場合があります。複数のルックアップサービスがそれぞれデフォルトを指定している場合、選択されたサービスは正確に定義されていませんが、通常、インストールされたサービスではなく、プラットフォームのネイティブサービスがデフォルトとして返されます。明確に識別可能なプラットフォームネイティブのデフォルトの印刷サービスがない場合、デフォルトは実装に依存する方法で最初に配置されます。

于 2013-01-24T12:21:32.477 に答える
3

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");
}
于 2013-01-24T12:19:33.973 に答える
2
 PrintService service = 
                PrintServiceLookup.lookupDefaultPrintService();
于 2013-01-24T12:19:20.787 に答える