Makbuz yazıcısına yazdırmak için Java Baskı Hizmeti API'sini kullanıyorum. İnce yazdırır, ancak bittiğinde otomatik olarak kesilmez. Yazıcıya otomatik kesime nasıl bildirilir? Bunu kesmek için yazıcıya göndermek gerekir (bir bayt dizisi formunda) özel bir komut olmadığını hayal ediyorumJava: Makbuz Yazıcısı otomatik kesim
String defaultPrinter =
PrintServiceLookup.lookupDefaultPrintService().getName();
System.out.println("Default printer: " + defaultPrinter);
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
InputStream is=null;
try {
printString+="\f";
System.out.println(printString);
is = new ByteArrayInputStream(printString.getBytes("UTF8"));
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc doc = new SimpleDoc(is, flavor, null);
DocPrintJob job = service.createPrintJob();
PrintJobWatcher pjw = new PrintJobWatcher(job);
try {
job.print(doc, pras);
} catch (PrintException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pjw.waitForDone();
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Yazıcım Star TSP100 olduğunu Yazıcı, ancak bu komut hiçbir şey yapmıyor gibi görünüyor. –
Yukarıdaki kodları (yani farklı bir model için işe yaramayacakları için) veya yazıcınızın kodlarını denediniz mi? Bu bağlantıdan (http://www.starmicronics.com/absolutefm/absolutefm/attachments/92/Application%20note%20-%20Star%20Micronics%20Printers%20with%20Booklog%20Software.pdf) byte'da istediğiniz girdileri dizi '27, 100, 3' gibi görünüyor. Bu hiç işe yarıyor mu? – berry120
Bu başardı! Bunu benim için bulduğun için çok teşekkürler! –