1

私は問題を抱えています。プリンターでファイルを印刷するために送信したいのですが、ネットワークに接続したプリンターのIPアドレスを取得し、最初のプリンターを選択します。これのコードは次のとおりです。

PrintService[] service = PrinterJob.lookupPrintServices();// list of ip address 

PrinterJob printJob = PrinterJob.getPrinterJob();

printJob.setPrintService(service[0]);//I get the first address 

しかし今、私はIPアドレスを含む文字列を割り当てたいと思っています:\\10.100.20.26\My printer私が持っているネットワークではなく、私が欲しいプリンターの、そしてそれは方法がわからない、誰かが私を助けてください、私は解決策ですが、良い結果が得られませんでした。

4

2 に答える 2

1

私はPrintServiceあなたにその道を与えるいくつかの特性を持っていると推測しています。したがって、PrintServicesの配列を調べて、使用しているパスに一致するものを見つけて使用します。

PrintService[] services = PrinterJob.lookupPrintServices();// list of ip address
String myPrinter = "10.100.20.26\My printer";
PrintService serviceToUse = null;

for (PrintService service: services) {
    if (service.getPath().equals(myPrinter)) {
        serviceToUse = service;
        break;
    }
}

if (serviceToUse != null) {
    PrinterJob printJob = PrinterJob.getPrinterJob();

    printJob.setPrintService(serviceToUse);
}
于 2011-05-26T19:33:36.330 に答える