gpt4 book ai didi

java - 使用JAVA打印 "Bixolon Thermal Printer", "No pages found!"错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:13 24 4
gpt4 key购买 nike

我一直在尝试使用热敏打印机“Bixolon SRP-F310”并使用JAVA的PrintService打印一些文本。检测到打印机并且调用打印函数时没有异常。我可以在 Cups 的网络界面中看到打印事件被调用。但是打印机无法打印并显示错误消息“未找到页面!”可以在 Cups 的网页界面中看到。任何帮助将不胜感激。我已经提供了 Cups Web 界面的屏幕截图和错误日志。

import javax.print.*;
import java.util.Arrays;
import java.util.List;

public class Printer {
static Printer INSTANCE;

public static void main(String[] args) {
INSTANCE = new Printer();

List<PrintService> services = INSTANCE.getServicesByName("BIXOLON_SRP-F310");
if(services == null) {
throw new RuntimeException("No printer services available");
}
INSTANCE.printServices(services);

try {
INSTANCE.print(services.get(0), "Hello");
} catch (Exception e) {
e.printStackTrace();
}
}

public List<PrintService> getServicesByName(String serviceName) {
//Find printer service by name
AttributeSet aset = new HashAttributeSet();
aset.add(new PrinterName(serviceName, null));
return Arrays.asList(PrintServiceLookup.lookupPrintServices(null, aset));
}

public void print(PrintService service, String printData) throws Exception {
if(service == null) {
throw new Exception("Service is not valid");
}
if(printData == null) {
throw new Exception("Nothing to print");
}

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
pras.add(new PrinterResolution(180,180,PrinterResolution.DPI));

DocPrintJob job = service.createPrintJob();
DocAttributeSet das = new HashDocAttributeSet();
das.add(new PrinterResolution(180,180,PrinterResolution.DPI));

byte[] desc = printData.getBytes();
Doc doc = new SimpleDoc(desc, DocFlavor.BYTE_ARRAY.AUTOSENSE, das);

try {
job.print(doc, pras);
} catch (Exception e) {
e.printStackTrace();
}
}

public void printServices(List<PrintService> services) {
System.out.println("Printer Services found:");
for (PrintService service : services) {
System.out.println("\t" + service);
}
}
}

Cups 的网页界面:

Web Interface of Cups showing the printing job added, but with the error "No pages found!"

错误日志:

http://pastebin.com/kYiKGsSn

最佳答案

请执行以下步骤,希望您的问题能够得到解决。

  1. 检查打印机的 IP,如果与您通过 CUP 访问的 IP 相同,那就没问题,否则您必须重置 IP。
  2. 重置 IP:按住热敏打印机的进纸按钮 2-3 分钟,将打印一张长打印收据,其中包含有关打印机的详细信息。

现在只需使用 LAN 电缆将打印机连接到 PC 并打开打印机设置即可。在这里您可以根据该颗粒打印机的说明书重新设置打印机IP。

设置 IP 后,现在再次尝试从服务器上使用新 IP 访问该热敏打印机。如果您的 CUPS 安装正确,那么它将正常工作,否则您必须检查 CUPS。

检查所有这些内容,并让我知道是否有效或有任何错误消息。

关于java - 使用JAVA打印 "Bixolon Thermal Printer", "No pages found!"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27293745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com