我在服务器linux ubuntu中的程序和我在Windows中的打印机
我想从链接中打印数据并在Windows中打印
我尝试用以下方式打印:

SMB:\\\\Ip printer\\Name printer


但这不起作用
有解决方案吗?

我的代码是:

string1="test";
InputStream br = new ByteArrayInputStream(test.getBytes());
BufferedReader in = new BufferedReader(new InputStreamReader(br));
String line;
FileWriter out = new FileWriter("SMB:\\\\IP printer\\name printer");
while((line = in.readLine()) != null)
{
    System.out.println("line"+line);
    out.write(line);
    out.write(0x0D);  CR
    out.write('\n');
    writer.println(line);
}
out.close();
in.close();


我的打印机是EPSON TM-U295

最佳答案

您应该使用PrinterJob

这就是Java为此类情况提供的API。
这是一个小代码片段,可以帮助您入门:

PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintable(new CustomPrintable("DATA TO PRINT"));
boolean printOK = printerJob.printDialog();
if (printOK){}
    try {
        printerJob.print();
    }
    catch (PrinterException e){
        // Error
    }
}


我刚刚意识到我忘了提到如何连接到打印机,这是一个有用的link

10-06 09:33