Недавно я создал программу java, которая печатает квитанцию и открывает денежный ящик, который подключен к принтеру.Как открыть денежные ящики, подключенные к компьютеру
Теперь мне нужно открыть денежный ящик, который будет напрямую подключен к компьютеру через RJ11.
Поскольку я не буду подключать денежный ящик к принтеру, мой feedPrinter
будет бесполезным. Итак, как я могу позвонить и отправить денежный ящик командам?
Вот мой код
public String openDrawer()
{
final byte[] openCD={27,112,0,60,120};
String s=new String(openCD);
commandSet+=s;
return s;
}
public static void main(String args[])
{
PrinterOptions p=new PrinterOptions();
p.openDrawer();
feedPrinter(p.finalCommandSet().getBytes());
}
private static boolean feedPrinter(byte[] b)
{
try
{
AttributeSet attrSet = new HashPrintServiceAttributeSet(new PrinterName("PRINTERNAME", null));
//what should I change PRINTERNAME to connect directly to cash drawer
DocPrintJob job = PrintServiceLookup.lookupPrintServices(null, attrSet)[0].createPrintJob();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(b, flavor, null);
PrintJobWatcher pjDone = new PrintJobWatcher(job);
job.print(doc, null);
pjDone.waitForDone();
System.out.println("Done !");
}
catch(javax.print.PrintException pex)
{
System.out.println("Printer Error " + pex.getMessage());
return false;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
return true;
}
public String finalCommandSet()
{
return commandSet;
}
Трудно дать вам хороший ответ на этот вопрос без дополнительной информации, такой как информация о том, как вы хотите «поговорить» с денежным ящиком ... Существует ли конкретный API, против которого вы разрабатываете? Например, есть ли DrawerOptions() '? Это также немного пахнет, как будто вы просите домашнее решение;). –
Мне удалось распечатать квитанцию и открыть денежный ящик, который подключен к принтеру. Я просто хотел узнать, будет ли мне по-прежнему менять свой код, если я подключу его непосредственно к компьютеру. 'DrawerOptions () '? hmm none Я думаю, что все, что мне нужно, это открыть его: D – askManiac
Whats commandSet –