5
私はJava Print Service APIを使用してレシートプリンタに印刷しています。それは正常に印刷されますが、完了したら自動カットされません。どのようにプリンタにオートカットを指示するのですか?私はあなたがそれをカットするために、プリンタに送信する必要がある(バイト列の形で)独自のコマンドがあります想像Java:領収書プリンタオートカット
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();
}
:どのようなモデルで、あなたはバイト列の形式でコマンドを見つけたとき、あなたは上記と同様のアプローチを使用してそれを送信することができるはず
このコマンドは何もしないようです。 –
上記のコードを試したことはありますか(異なるモデルのため動作しません)、またはプリンタのコードを試していますか?このリンク(http://www.starmicronics.com/absolutefm/absolutefm/attachments/92/Application%20note%20-%20Star%20Micronics%20Printers%20with%20Booklog%20Software.pdf)から、バイト配列は '27,100,3 'と表示されます。それはまったく機能しますか? – berry120
それはそれをしました!私にそれを見つけてくれてありがとう! –