目前,我在使用cups4j时遇到了一些问题。例如,在linux下,您可以在cups打印机上打印如下所示:
echo -e "test Text\\r" | lp -o raw -h <IP-ADRESS> -d <PRINTER-NAME>对我来说很重要的是"-o raw“标志。
我的问题是在使用cups4j打印时,我不知道如何设置这个标志。下一个正确的工作代码片段显示了我在cups4j上打印CupsPrinter PrintJob的方法。
private PrintRequestResult print(CupsPrinter printer, PrintJob job) throws Exception {
return printer.print(job);
}-o原始选项是在这里描述得很好
-o raw选项允许您直接将文件发送到打印机,而无需过滤。在从为您的打印机提供自己的“打印机驱动程序”的应用程序中打印时,有时需要这样做:
就像我说的,打印本身就像一种魅力,但我不知道如何添加这个特定的标志。也许有人能描述我该怎么做。
发布于 2016-08-01 20:51:17
在分析了通过wireshark发送到CUPS (我非常喜欢它)的终端和java程序中的包之后,我发现了以下对我有用的包:
CupsClient cupsClient = new CupsClient(IP, port);
URL url = new URL(printerName);
CupsPrinter cupsPrinter = cupsClient.getPrinter(url);
HashMap<String, String> map = new HashMap<>();
map.put("document-format", "application/vnd.cups-raw");
PrintJob printJob = new PrintJob.Builder(bytes).attributes(map).build();
PrintRequestResult printRequestResult = cupsPrinter.print(printJob);https://stackoverflow.com/questions/36761686
复制相似问题