java - java中的打印机问题

标签 java printing ip ip-address printers

我有一个问题,发生的情况是我想发送到打印机上打印一个文件,为此我获取已联网打印机的 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的字符串,而不是我拥有的网络,并且它在那里不知道如何,请有人帮助我,我已经搜索了解决方案,但我没有得到好的结果。

最佳答案

我猜测 PrintService 有一些属性可以为您提供其路径。因此,请检查 PrintService 数组,找到与您拥有的路径匹配的一个并使用它:

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);
}

关于java - java中的打印机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143682/

相关文章:

css - 谷歌浏览器和打印

Perl 按位 AND 给我奇怪的结果

powershell - 在Powershell中查找外部IP地址和日志地址号?

java - 致命异常 : java. lang.IllegalArgumentException fd 只能在 Android Q 中的 PrintAdapter 类的 onwrite() 中为 null

java - 使用 Quartz 或任何其他 java api 进行动态作业调度

java - 如何在 sharedPreferences 中保存字符串

java - IntelliJ : Deploying Play 2. 0 应用到 .war 文件;我在 list 中放了什么?

Grails:如何在 cmd 控制台中打印?

c++ - 使用 C++ 在 vi​​sual studio 中进行套接字编程

java - Mysql 和 Hibernate 以及 Lob 列