Eclipse とシンプルなスイング GUI を使用して生データを印刷する予定です。私のバーコード プリンターは.prn
ファイルを使用して印刷し、すべてがファイルにエンコードされているため、ファイルの正確な内容を生データとしてプリンターに送信できれば、必要な正確な形式で印刷することができます。ファイルを選択して、StringBuffer
その内容を読み取り、文字列に書き込むことができます。この文字列を生データとしてプリンターに送信するにはどうすればよいでしょうか?
よろしく。
編集:
たぶん、質問を少し詳しく説明する必要があります。今では、使用しているウィンドウで動作します。
int ch;
FileInputStream fin = null;
try {
fin = new FileInputStream(prnfile);
while ((ch = fin.read()) != -1)
strContent.append((char) ch);
fin.close();
JOptionPane.showMessageDialog(frame, strContent);
} catch (Exception e1) {
System.out.println(e1);
}
try {
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
JOptionPane.showMessageDialog(frame, service);
DocPrintJob job = service.createPrintJob();
InputStream is = new ByteArrayInputStream(strContent.toString().getBytes());
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc doc = new SimpleDoc(is, flavor, null);
job.print(doc, null);
is.close();
しかし、これをUbuntuで実行しようとすると、「印刷がキャンセルされ、java印刷」という通知しか表示されず、プリンターは何もしません(通常、プリンターcat xxx.prn | lpr
は端末から使用してubuntuで動作します。何かアイデアはありますか?